2011-04-05 4 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。

Javascriptのサンプルコード:ここ

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

..putはiframe ...私はQuirksモードにブラウザを置くことに屈してきたこの問題に実行した後

 <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は、 "Object"のようなネイティブJSオブジェクトが存在しないことです。 – tengoal

答えて

3

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

これ以外の解決策は間違いなく歓迎されています。これはテンゴルのように私はこれが最善の選択肢の前夜ではないと考えていますnだがそれはで動作する。

+0

私たちもやったこと。 – tengoal

関連する問題