的问题缓慢的Iframe JavaScript执行:只能在IE
我已经开发了Web应用程序。它通过iFrame的帮助嵌入到网站中。
如果我将应用程序作为独立运行(IE9)说:www.example.com/webapp它加载约十秒钟平坦(这是一个相当大的应用程序)。 Chrome和FF速度更快。
如果它嵌入在iFrame中,但是IE完全丢失它,javascript执行时间高达40-60秒直到应用程序完成加载。一旦应用程序加载,但没有问题,它运行完美。
回顾:独立:OK,在iFrame中:不好。
在web应用程序中加载了一些xml,特别是一个大约8mb的非常大的xml。 xml的解析和内容是使用KnockoutJS创建的。然而,这与不太相关,我将它缩小到了使用jQuery完成的XML解析。
独立解析在IE9中大约需要10秒。嵌入它大约40-60。我已经安慰了状态日志和时间戳,我可以在身体上看到JavaScript运行速度非常慢,嵌入式。 每次trace-out需要4-6倍的时间只要对应于增加的整体加载时间。
FireFox和Chrome是免疫的,并且不会显示减速或减速过慢而不显示。
我试过iFrame和对象嵌入。相同的结果。
问题
你知道为什么简单的JavaScript执行(XML解析时,XML是加载和存储),嵌入式的iframe比时将需要4-6倍的时间独立?
奖金信息
我不是在谈论页面加载这里。一切正常加载。即使是主机页面。这还不是另一个页面挂起,直到iframe准备就绪的问题。问题在于iframe内部的执行速度很慢。我试过嵌入在相同的域,外部域,内部,外部。到处都是同样的问只要我iframe该死的东西,负载性能下降。一旦它被加载,一切都很好,一切运行得很好。
PS:我希望我发现的关键字是关键字是可以的。这应该是一个帮助,而不是讨厌。我个人在关注大量文本时遇到问题。
**
性能监视器,而它的加载:
IE9 **
只是为了帮助缩小这里发生的事情,您是否可以在加载时监控CPU使用情况? (我试图弄清楚ie if实际上是否在iframe中运行得更慢,或者由于某种原因它正在做更多的工作) – 2014-10-01 11:45:44
当然可以! http://imgur.com/iYdMuPe在这里,它也会链接到OP中。 – Eirinn 2014-10-01 12:16:45
这是一个面条划痕。当然,看起来电脑在通过iframe时不得不做更多的工作。在早期版本的IE浏览器(ie7等)中,有一个网络钓鱼过滤器,有些人抱怨说,当iframe出现时,它会吸食CPU。 ie9化身被称为智能屏幕过滤器。检查是否启用了该功能,如果是,请尝试禁用它。禁用指令:http://support.microsoft.com/kb/930168 – 2014-10-01 16:10:35