为什么由analytics.js触发重排:1520 [google-analytics]

时间:2017-10-05 14:19:59

标签: google-analytics analytics reflow

我想知道是否有人知道如何摆脱以下的重排,显然是由分析引发的,或者在github上讨论它的地方?感谢

Reflow in Chrome Performance tab

Analytics code Line triggering the reflow

2 个答案:

答案 0 :(得分:0)

This document声称为clientWidth和clientHeight触发了重排,即使它们被读取(不仅仅是在设置时)。然而,作者也指出

  

如果文档已更改并使其无效,则回流仅具有成本   风格或布局。通常,这是因为DOM已更改[...]

分析脚本不执行此操作。所以似乎有一个回流,但我怀疑它会带来很大的性能损失。在任何情况下,你都不会摆脱这个。

该文章还链接到许多讨论强制回流问题的其他帖子。

答案 1 :(得分:0)

感谢您的回答。我相信这个警告是准确的,需要按照https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts中的说明加以解决。

通过跟进callstack,我意识到我们的一个脚本是在第一次渲染后向正文添加一个类,这显然是重排的原因。我仍然不明白为什么分析是在性能选项卡中提出此警告的脚本,我想它可能会观察到体型变化。

祝你好运