首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安装更新KB3154070后,无法在IE中加载Iframe

安装更新KB3154070后,无法在IE中加载Iframe
EN

Stack Overflow用户
提问于 2016-05-16 22:28:27
回答 3查看 11.4K关注 0票数 16

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

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

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

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

非常感谢您的帮助。

你好,斯瓦杰。

EN

回答 3

Stack Overflow用户

发布于 2016-05-17 06:41:49

我们遇到了完全相同的问题。在我们的特定案例中,问题是iframe现在会在重新设置父级(即从一个DOM树位置移动到另一个DOM树位置)时中止其请求。我们能够通过避免在iframe加载时移动它来绕过新的限制。我不能确定在您的情况下到底发生了什么,但我敢打赌,这是在iframe加载开始和完成之间发生的一些交互。

票数 4
EN

Stack Overflow用户

发布于 2016-05-25 21:38:35

我的公司遗留软件受到这个问题的巨大影响。在微软解决此错误之前,我们提出了以下通用解决方案:

 $(document).ready(function() {
    loadIframesIE();
 });

 function loadIframesIE() {
    var $iframe;
    $('iframe').each(function(cnt, iframe) {
        $iframe = $(iframe);

        // If the iframe body has no child, it couldn't be loaded
        if ($iframe.contents().find('body').children().length === 0 && !$iframe.attr('resetted')) {

            // Necessary to avoid an infinite loop in some cases
            $iframe.attr('resetted', true);
            $iframe.attr('src', $iframe.attr('src'));

        }
    });
 }
票数 3
EN

Stack Overflow用户

发布于 2016-05-19 16:20:57

在我的例子中,这个问题是通过将compatibility头设置为Edge来解决的。对于KB3154070,它不适用于文档模式7和8,但它适用于9,10和Edge。

此外,@ewh建议在加载文档后设置src的建议运行良好。谢谢。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37256335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档