微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IE8将dynamiciframe内容从caching重新加载到错误的iframe中

我有一个页面上有多个iframe。 每个iframe正在调用一些javascript,将新的iframedynamic写入父窗口的文档中。

这在第一页加载工作正常。 但是,如果页面在IE8(及更早版本)中刷新,其中一个dynamic生成的iframe将从caching中加载到父页面上的一个硬编码插槽中。 看下面的例子:

http://www.risingspiral.com/ie8-iframe-refresh/

在IE8刷新(可能需要几次尝试)Spot 2_将从caching加载到spot3.html的iframe中。 spot3.html根本不会被调用

检查前一个特定的文本字段。 IE与一个运行的Windows应用程序

在CSSdevise中,“Holly Hack”是什么?

以编程方式在Internet Explorer中设置Cookie

如何在多脚本中使用powershell函数

以编程方式更改Internet Explorer设置?

我已经保护免受IEdynamiciframe刷新问题在这里描述:

http://buildingonmud.blogspot.com/2010/06/ie-iframe-refresh-and-back-button.html

但似乎还有一个问题。 同样有趣的是,问题总是出现在iframes spot2.html和spot3.html之间(至less对我而言)。

我已经尝试了很多不同的configuration来尝试解决这个问题。 所以,我正在寻找新的build议。

有任何想法吗?

对象引用未设置为Internet Explorer上AngularJS中对象的实例

在IE中使用JavaScript的窗口中可以使用任何方法来检测URI模式

通过ruby脚本更改Windows浏览器代理设置

Internet Explorer开发人员中心错误:HTML1405:无效的字符:U + 0000 NULL。 空字符不应该被使用

Internet Explorer如何决定跨越一个新的浏览器窗口的新stream程?

我遇到了非常类似的问题,一旦加载后动态生成的iframe卡在第一个src中,即使父页面在每次重新加载时都会更改iframe的src属性,iframe仍会加载第一个

经过几个小时的斗争,我发现这只是<IE8刷新错误,如果页面导航到使用链接或通过在地址栏中输入URL,一切都按预期工作。 所以只要你不刷新页面,或通过再次输入地址刷新它,你应该没问题。

更新:

这个问题似乎可以通过再次设置iframe的SRC属性解决

iframe.src = iframe.src;

这似乎迫使<IE8真正尊重给定的网址。

老问题,但问题仍然存在。 我现在正面临着这个问题。 问题是我无法控制何时加载iframe,因为它是由异步插入页面的脚本生成的。

经过一些黑客,我选择在超时后刷新帧。 这是我找到的最好的解决方案。

if (/MSIE (d+.d+);/.test(navigator.userAgent)){ var ieversion=new Number(RegExp.$1); if (ieversion<=8){ setTimeout(function(){ iframeReload(); },1000); function iframeReload() { $("iframe").each(function(index) { $(this)[0].src = $(this)[0].src; }); } } }

我有同样的问题,并通过每次创建具有不同ID的iframe(只在IE11上测试,但希望这应该可以解决所有版本的问题)来解决它:

iframe.id = iframe.name = "iframe$" + Math.floor(Math.random() * new Date().getTime());

请注意,设置名称可能没有任何作用(要测试;我只能告诉只设置名称不能解决问题)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐