Есть ли способ приостановить рефлоу при тяжелых манипуляциях с DOM?

Мне нужно сделать тяжелые манипуляции с DOM по всему документу веб-страниц в надстройке, которую я пишу. Я хотел бы свести к минимуму оплавления, чтобы только один из них происходил для всех моих манипуляций. Удаление элемента body, выполнение манипуляций, а затем вставка его снова не вариант, потому что это переоценивает все <script> элементы. В настоящее время я установил видимость тела на 'none' до манипуляций и восстановления значения дисплея после. Хотя я не уверен, что это лучший способ справиться с этим.

Есть ли способ лучше? Конечно, это может быть специфичный для Firefox код. В конце концов, это дополнение к Firefox.

1 ответ

Решение

Gecko на самом деле довольно хорош в подавлении ненужных модификаций самостоятельно (т. Е. Вам лучше не связываться с ним), за исключением случаев, когда между многими изменениями, которые вы делаете, вы также запрашиваете информацию, которая требует компоновки. быть актуальным (например, положение элементов или размеры, getComputedStyle и т. д.)

Другие вопросы по тегам