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>
答案 0 :(得分:3)
在遇到这个问题之后,我已经屈服于将浏览器置于怪癖模式:
Response.AddHeader("X-UA-Compatible", "IE=8");
任何其他解决方案都是受欢迎的,因为像tengoal一样,我怀疑这不是最好的选择,即使有效。