我需要在我编写的附加组件中对整个网页文档进行大量的DOM操作。我想尽量减少回流,因此我的所有操作只会发生一次回流。删除body元素,执行操作然后再次插入它不是一个选项,因为这会重新评估所有<script>
元素。目前,我在操作之前将主体的可见性设置为'none'
,并恢复显示之后的值。不过,我不确定这是否是解决这个问题的最好办法。
有更好的方法吗?当然它可能是Firefox特定的代码。毕竟它是一个Firefox附加组件。
答案 0 :(得分:1)
Gecko实际上非常擅长抑制不必要的修改(也就是说,你可能最好不要搞乱它),除非在你正在进行的许多修改之间,你也要求提供信息。要求布局是最新的(例如元素位置或大小,getComputedStyle等)