代码之家  ›  专栏  ›  技术社区  ›  Morgan Cheng

为什么document.write会影响web性能?

  •  13
  • Morgan Cheng  · 技术社区  · 14 年前

    我听说了

    3 回复  |  直到 14 年前
        1
  •  15
  •   Community uzul    7 年前

    document.write() DHTML Kitchen 发现在Firefox、Opera和Chrome中, document.write()

    Guffa's answer 指出,实际上的性能问题来自内联脚本本身。内容呈现只能在内联脚本完成执行后继续,因此如果内联脚本中有complexe例程,则可以明显地为最终用户停止页面加载。这就是为什么等待 onload DOMReady

    尤其不明智的做法是 document.write() document.write() document.open() ,它将从屏幕上删除当前HTML并创建一个新文档。

    document.write() 没有它的用途,只是大多数开发人员使用它的理由是错误的。真正的问题 包括:

    • 在DOM解析完成后使用时覆盖整个页面。
    • <noscript> 有时是一个有效的解决方法)。
        2
  •  6
  •   Guffa    14 年前

    如果您有在页面中间运行的脚本,浏览器必须等待脚本完成,然后才能继续分析页面的其余部分。

    要使页面快速显示,您需要浏览器尽快解析页面,以便向用户显示该页面,然后可以应用脚本添加的额外功能。

        3
  •  0
  •   cRichter    14 年前

    我认为应该避免这样做是有原因的。

    在html代码中

    <script>
     document.write('mystuff')
    </script
    

    如果只通过body.onLoad启动javascript,那么它可以向用户显示整个网站,然后运行javascript。。。 因此