javascript - IE8 将缓存中的动态 iframe 内容重新加载到错误的 iframe 中

标签 javascript windows internet-explorer iframe internet-explorer-8

我有一个包含多个 iframe 的页面。每个 iframe 都调用一些 javascript,这些 javascript 将新的 iframe 动态写入父窗口的文档。

这在第一页加载时工作正常。但是,如果页面在 IE8(及更早版本)中刷新,动态生成的 iframe 之一将从缓存加载到父页面上的硬编码插槽之一。请参阅以下示例:

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

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

我已经针对此处描述的 IE 动态 iframe 刷新问题进行了保护:

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

但是好像还是有问题。同样有趣的是,问题似乎总是发生在 iframe spot2.html 和 spot3.html 之间(至少对我而言)。

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

有什么想法吗?

最佳答案

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

与此斗争了几个小时后,我发现这只是 < IE8 刷新错误,如果页面导航到使用链接或通过在地址栏中输入 URL,一切都会按预期进行。所以只要不刷新页面,或者重新输入地址刷新就可以了。


更新:

这个问题似乎可以通过重新设置iframe的src属性来解决,比如

 iframe.src = iframe.src;

这似乎迫使 < IE8 实际上尊重给定的 URL。

关于javascript - IE8 将缓存中的动态 iframe 内容重新加载到错误的 iframe 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8611146/

相关文章:

javascript - 如何获取 jQuery 集合中的第 k 个元素...作为 JQUERY 元素

javascript - 延迟对象上的函数调用

javascript - AngularJS:如何使用选项值中的两个元素进行排序或过滤

c++ - 查明系统中是否存在 DLL 的最佳方法

javascript - 系统托盘中 MS WIndows 上的 Electron JS 应用程序可以监听键盘事件并启动弹出窗口吗?

javascript - textarea 的值返回空

windows - 如何将 IIS 证书导入 Chrome 以避免不可信站点警告?

internet-explorer - 即使有拖拽事件,IE 10 拖放仍然打开文件

javascript - IE11 与所有其他浏览器具有不同的 clientWidth 和 clientHeight

url - 当我尝试打开带有参数的本地 html 文件时,Internet Explorer 显示错误消息