代码之家  ›  专栏  ›  技术社区  ›  Peter Eysermans

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

  •  5
  • Peter Eysermans  · 技术社区  · 15 年前

    我们有一个很大的网页,上面有一堆javascript。在firefox/chrome中加载时,页面会逐渐加载。首先呈现并显示已经收到的HTML,然后执行JavaScript。

    但是,Internet Explorer 8会等待,直到完全收到请求并执行其javascript后才会显示。这给人的印象是应用程序在短时间内没有响应。

    我们有一台笔记本电脑,IE8像火狐/chrome一样加载页面,我们一直在搜索IE8上的设置,以表明在显示页面或部分页面之前,它不必等到所有的javascript都被执行。

    如果有这样的场景,在哪里可以找到,有人知道吗?我们检查了Internet Explorer的Chrome框架没有安装。

    更新: 为了进一步说明,正如@thariama在评论中指出的那样,我还认为ie8总是等待呈现整个页面,但是看到这台笔记本电脑呈现它,我确信它会加载“firefox方式”。这台笔记本电脑的内存和CPU功率只有台式电脑的一半,而且看起来和感觉都更快(因为渲染的缘故)。

    3 回复  |  直到 9 年前
        1
  •  1
  •   Tim Lewis    13 年前

    我今天在试图确定从本地主机加载时IE8将递增呈现,但从内部网服务器加载时不会递增呈现的原因时遇到了同样的问题。

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

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

    发生这种情况的原因是,当从本地主机IE加载时,IE8引擎以标准模式呈现。从内部网加载时,IE默认使用IE7引擎以兼容模式呈现。IE7引擎将暂停,直到整个表在呈现前被加载,但IE8引擎将递增呈现该表。

    要检查特定页面的IE模式,请按F12调出开发人员工具,在菜单区域有一个“浏览器模式”,它告诉您它选择的渲染引擎,“文档模式”,它指示特殊模式或标准模式。

        2
  •  0
  •   JayB    9 年前

    我最近的任务是解决遗留webapp中的IE8页面呈现问题(不需要更改太多服务器端代码)。我将页面的最大部分包装在textfarea元素中(在服务器端),并使用javascript提取内容,删除文本区域并插入文本区域所在的HTML…结果很好…在现代浏览器中,它的加载速度似乎更快。

        3
  •  -1
  •   Zorf    15 年前

    如果人们总是使用IE,那么他们已经习惯了这种“无响应”的想法,每当我打开IE检查兼容性时,我都会接受这样一个事实,即所有页面看起来都有一段时间没有响应。

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

    不是一个解决问题的办法,可能不是告诉你问题不是那么严重。我不认为有一种方法可以给浏览器指令来调整它的渲染模型,但是不应该有,用户应该能够调整渲染模型,但是不能调整站点。这些东西是通向病毒的通道。