加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 安装更新KB3154??070后,iframe不会在IE中加载

发布时间:2020-12-16 00:27:29 所属栏目:asp.Net 来源:网络整理
导读:我们有一个主要处理iframe的应用程序(根据需要加载应用程序中的不同页面) 最近IE浏览器更新了KB3154070(当前的IE版本:11.0.9600.18314)作为系统更新的一部分。在更新之后,大部分功能正在彻底打破。它影响了所有使用iframe的页面。内容未加载,并导致空白页
我们有一个主要处理iframe的应用程序(根据需要加载应用程序中的不同页面)

最近IE浏览器更新了KB3154070(当前的IE版本:11.0.9600.18314)作为系统更新的一部分。在更新之后,大部分功能正在彻底打破。它影响了所有使用iframe的页面。内容未加载,并导致空白页。当在网络面板中检查时,请求似乎被中止,如下图所示。
Network Traffic Capture

我们执行了以下故障排除

我们确保所有iframe标签都正确关闭。
iframe的src不为空。
如果我们访问同一页面(不加载到iframe中),它可以正常工作。但是问题只在于iframe中。
作为此问题的快速解决方法,我们已要求我们的用户回滚更新。但是,这不是预期的解决方案。

您的帮助非常感激。

问候,
Swajay。

解决方法

@ Matt的回答提供了一个关于如何解决问题的线索。看起来,安装了KB3154??070的IE,如果iframe在父DOM树准备好之前启动任何脚本操作,就会阻止iframe内容。如果由iframe加载的资源不包含脚本,我注意到没有阻塞。我也注意到有时IE不会用脚本阻止内容,但这可能是由于父DOM正在准备好和iframe资源加载之间的竞争条件。

另外一个观察结果是,我在边缘模式下运行IE时没有看到任何iframe加载问题。似乎问题只在兼容模式下运行时才会出现。

为了解决我工作的项目的问题,我扼死了iframe,在那里我声明src属性没有任何价值。在主页的onload处理程序中,这表示DOM树已经准备就绪 – 我使用javascript来设置iframe的src属性。这样做似乎可以正常工作,iframe正确加载。

例如,说你有以下几点:

<iframe id="myIFrame"></iframe>

在你的onload处理程序中,你有一些类似于

document.getElementById('myIFrame').src = '/whatever/url/to/load';

我仍然认为KB3154??070引入了一个回归错误(如果没有错误),但也许我建议可以应用于您的应用程序。

UPDATE

IE update KB317016似乎修复了iframe加载问题。微软已经正式认出了这个错误:KB3176757。

我打算保留我的更改,因为我们的一些客户可能无法立即更新IE。此外,所做的更改仍然适用于我们需要支持的所有IE版本。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读