Internet Explorer 8等待页面完全呈现并执行javascript

时间:2010-06-07 07:40:34

标签: internet-explorer-8 rendering page-load-time

我们有一个非常大的网页,里面有一堆javascript。在Firefox / Chrome中加载时,页面会逐渐加载。首先,渲染并显示已经收到的html,然后执行javascript。

然而,Internet Explorer 8会等到请求完全收到并且在显示之前执行其javascript。这给人的印象是应用程序在短时间内没有响应。

我们有一台笔记本电脑,其中IE8加载了像Firefox / Chrome这样的页面,我们一直在IE8上搜索一个设置,表明在显示页面或部分页面之前它不必等到所有的javascript都被执行它

是否有人知道如果有这样的设置并且可以找到它?我们检查了未安装适用于Internet Explorer的Chrome框架。

更新 为了更加澄清,正如@Thariama在评论中指出的那样我也认为IE8总是等待呈现整个页面,但看到这台笔记本电脑呈现它我很确定它加载了'Firefox-way'。笔记本电脑的RAM和CPU功率相当于台式机的一半,而且它的外观和速度更快(因为渲染)。

3 个答案:

答案 0 :(得分:1)

我今天遇到了同样的问题,试图确定为什么IE8在从localhost加载时会以递增方式呈现,但在从Intranet服务器加载时则不会。

修复是告诉IE使用哪个渲染引擎。我更喜欢使用最新的引擎进行渲染。

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    ...

它发生的原因是因为当从localhost IE加载时,IE8引擎在标准模式下呈现。从Intranet加载时,IE默认使用IE7引擎以兼容模式渲染。 IE7引擎将暂停,直到整个表在渲染之前加载,但IE8引擎将逐步渲染表。

要检查特定页面的IE模式,请按F12以启动开发人员工具,然后在菜单区域中显示“浏览器模式”,告诉您它选择了哪个渲染引擎,以及“文档模式”表示怪异模式或标准模式。

答案 1 :(得分:0)

我最近负责解决旧版webapp中的IE8页面呈现问题(不需要更改很多服务器端代码)。我用textarea元素(在服务器端)包装了页面的最大部分,并使用JavaScript来提取它们的内容,删除textareas并在textarea所在的地方插入html ......它运行得很好...它甚至看起来在现代浏览器中加载速度更快。

答案 2 :(得分:-1)

如果人们使用IE并且它总是这样做,他们已经习惯了这种“反应迟钝”的想法,每当我打开IE来检查兼容性时,我只是接受这样一个事实:所有页面看起来都“反应迟钝”了一段时间

它是IE的一部分,生活在无知中的人习惯了,他们不会点击。

对你的问题没有多少解决方案,这可能不是告诉你这不是一个问题。我不认为有一种方法可以为浏览器提供调整其渲染模型的指令,但不应该,用户应该能够调整渲染模型,但不能调整网站。那些东西是通往病毒的门户。