代码之家  ›  专栏  ›  技术社区  ›  Nate

使用JavaScript小部件时如何减少页面回流?

  •  2
  • Nate  · 技术社区  · 17 年前

    很多JavaScript库都有用户界面小部件。

    通常,它们是创建的 之后 页面已加载。用户会看到页面重新流动,页面的部分内容会四处移动或改变外观。

    如何减少页面加载时出现的回流量,特别是当Im使用多个小部件时?

    这里有一些例子。这些都是非常基本的,所以回流没有那么糟糕,但它确实存在,特别是在清除缓存和缓慢的互联网连接的情况下:

    3 回复  |  直到 17 年前
        1
  •  2
  •   epascarello    17 年前

    当您使用大多数第三方脚本时,问题是它们会在添加类或重新格式化HTML的JavaScript代码中为您完成所有脏/忙的工作。

    当我编写小部件时,我会在中构建该功能。我告诉开发人员,如果他们不关心内容的闪现,他们可以做最低限度的标记,或者他们可以编写他们的后端,以吐出小部件需要的特定HTML标记。

    我不认为您列出的脚本已经能够标记代码,所以您可能会被内容的闪现所困扰,或者被隐藏。[隐藏甚至可能会破坏渲染时依赖定位数据的脚本!]

        2
  •  1
  •   kangax    17 年前

    你可以:

    a) 隐藏构成小部件的元素的可见性(例如,将“隐藏”值应用于其“可见性”),直到完全初始化为止。

    b) 在窗口的“加载”事件发生之前初始化小部件,例如在支持客户端的“DOMContentLoaded”事件上。这可能会最小化任何闪烁。

        3
  •  0
  •   Thevs    17 年前

    把一切都包装成看不见的东西 <div> . 然后使其在页面完全加载时可见(使用 onLoad 事件)。