ie9标准模式,iframe和dom操纵

时间:2011-04-05 22:15:01

标签: javascript iframe jquery-ui-dialog internet-explorer-9

IE9(标准模式)根本不允许你操纵DOM中的iframe。如果您使用jQueryUI Dialog或jQuery的.wrap()函数来包装碰巧有iframe的内容,IE9将会爆炸。事实上你甚至不需要jQuery,普通的旧JS可以正常工作(见下文)。

我想知道自微软says they do this on purpose to address a memory leak以来人们对此的看法。

我们不确定该如何处理。将我们使用iframe的所有文档放入Quirks模式似乎是错误的。但我们不确定替代品是什么。有任何想法吗? TIA。

Javascript示例代码:

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

..把iframe放在这里......

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

1 个答案:

答案 0 :(得分:3)

在遇到这个问题之后,我已经屈服于将浏览器置于怪癖模式:

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

任何其他解决方案都是受欢迎的,因为像tengoal一样,我怀疑这不是最好的选择,即使有效