iframe没有在IE9上加载

时间:2014-10-10 11:23:58

标签: jquery .net iframe

我正在使用.net平台, 我的母版页面上有一个iframe。

<iframe id="NewsFeedFrame" name="NewsFeedFrame" style="height: 1042px; border: 0px solid;
                    overflow: hidden;" seamless="seamless"></iframe>

和javascript中的document.ready事件我正在加载iframe。

$("iframe").attr("src", "abc.aspx");

但是在Internet Explorer上,这个东西不会加载任何东西。 有没有人有任何解决方案?

1 个答案:

答案 0 :(得分:0)

注意:here IE9中有一些文档可能有助于理解。感谢@Ben Amada分享它。


经过近一周的疯狂日复一日,我发现了它。

IE9的问题并非专门针对iframe中的javascript代码。甚至没有使用javascript或任何库添加的iframe中的javascript(我有很多js库和插件可能会搞错IE9)。

问题是当您通过DOM移动iframe或一个祖先时。 IE9将在iframe中加载的页面中执行多次动作。每次(但最后一个)都会有Object,String,Array等未定义的(以及其他错误)。

示例:

var iframe = $("<iframe>").attr("src", "www.example.com").attr("id", "myIframe");
iframe.appendTo("body");
$("#myIframe").appendTo("form:eq(0)");

&#34; www.example.com&#34;中的javascript代码将使用上述错误执行一次,然后执行一次,没有错误。

使用以下代码,代码将只执行一次并且正确:

var iframe = $("<iframe>").attr("src", "www.example.com").attr("id", "myIframe");
iframe.appendTo("form:eq(0)");