2011-04-05 2 views
4

IE9 (표준 모드)에서는 DOM에서 iframe을 전혀 조작 할 수 없습니다. jQueryUI Dialog를 사용하거나 jQuery의 .wrap() 함수를 사용하여 iframe이있는 콘텐츠를 래핑하면 IE9가 폭발합니다. 사실 당신은 jQuery가 필요조차 없다. 보통의 JS는 잘 동작 할 것이다 (아래 참조).ie9 표준 모드, iframe 및 dom 조작

Microsoft says they do this on purpose to address a memory leak 이후 사람들이 생각하는 것을 알고 싶습니다.

우리는 이것을 어떻게해야할지 확신하지 못합니다. iframe을 사용하는 모든 문서를 Quirks 모드로 바꾸는 것은 잘못된 것처럼 보입니다. 그러나 대안이 무엇인지 확신 할 수 없습니다. 어떤 아이디어? TIA.

자바 스크립트 예제 코드 : 여기

 <p id="after"></p> 

..put은 iframe ... 내가 쿼크 모드로 브라우저 퍼팅에 굴복 한이 문제에 실행 한 후

 <script type="text/javascript"> 
      //uncomment code below in IE9 standards mode to see error 
      //document.getElementById("after").appendChild(document.getElementById("iframe")); 
     </script> 
+0

id가 'iframe'인 요소는 어디에 있습니까? –

+0

인용 한 MSDN 문서는 실제로 문서 트리에없는 IFRAMES에 관한 것입니다. 하지만 당신의 질문은 당신이 트리가 아닌 IFRAME에서 이것을하려고한다는 것을 언급하지 않습니다. 그게 당신이하려는 일 이니? "폭발"은 정확히 무엇을 의미합니까? 오류 메시지 란 무엇입니까? – EricLaw

+1

죄송합니다. 게시 할 때 맹 글링 된 마크 업을 추가했습니다 ... DOM에서 iframe을 전혀 조작하지 않으면 IE9가 폭발합니다. div로 감싸거나 이동하고 BOOOM! 오류 메시지 (들) fyi, "개체"같은 네이티브 JS 개체가 존재하지 않습니다. – tengoal

답변

3

:

 Response.AddHeader("X-UA-Compatible", "IE=8"); 

텐 고르처럼 다른 솔루션도 분명 환영합니다.이 옵션이 최고의 옵션이 아닌 것 같습니다. n 비록 이 작동하지만입니다.

+0

그게 우리가 한거야. – tengoal