gpt4 book ai didi

asp.net - 安装更新 KB3154​​070 后,IE 中未加载 iframe

转载 作者:行者123 更新时间:2023-12-03 14:51:10 25 4
gpt4 key购买 nike

我们有一个主要处理 iframe 的应用程序(按需加载应用程序中的不同页面)

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

我们已经执行了以下故障排除

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

非常感谢您的帮助。

问候,
斯瓦杰。

最佳答案

@Matt 的回答提供了有关如何解决该问题的线索。如果 iframe 在父 DOM 树准备好之前启动任何脚本操作,则安装了 KB3154​​070 的 IE 似乎会阻止 iframe 内容。我注意到如果 iframe 加载的资源不包含脚本,则不会发生阻塞。我还注意到有时 IE 不会通过脚本阻止内容,但这可能是由于父 DOM 准备就绪和 iframe 资源加载之间的竞争条件。

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

为了解决我所从事的项目的问题,我 stub 了 iframe,我在其中声明 src 属性没有值。在主页的 onload 处理程序中——这表明 DOM 树已准备就绪——我使用 javascript 来设置 iframe 的 src 属性。这样做似乎有效,其中 iframe 被正确加载。

例如,假设您有以下内容:

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

在您的 onload 处理程序中,您有类似的内容:
document.getElementById('myIFrame').src = '/whatever/url/to/load';

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

更新

IE 更新 KB317016似乎修复了 iframe 加载问题。微软已正式承认该漏洞: KB3176757 .

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

关于asp.net - 安装更新 KB3154​​070 后,IE 中未加载 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37256335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com