提问人:Igor Bykov 提问时间:10/24/2023 最后编辑:Igor Bykov 更新时间:10/24/2023 访问量:58
将 DOM 操作延迟到浏览器空闲的惯用/常见/适当的方法是什么?
What's the idiomatic / common / adequate way of delaying a DOM manipulation until the browser is idle?
问:
比如说,我想在文档中插入几个 s,但这些 s 的优先级非常低,因此,我希望这些插入在浏览器空闲时执行。<script>
<script>
window.requestIdleCallback
似乎是做到这一点的适当方法,但我们不应该对里面的 DOM 进行更新。window.requestIdleCallback
将操作传递给 window.requestAnimationFrame
似乎还不够,因为它只会在下一帧执行,而不是在浏览器空闲时执行。
我应该像这样把里面包裹起来吗?window.requestAnimationFrame
window.requestIdleCallback
window.requestIdleCallback(() => {
window.requestAnimationFrame(() => {
/* Insert scripts */
});
});
有没有更好/更合适的方法?
这个问题并不真正局限于插入 s 的特定情况,而是针对任何想要在浏览器空闲时延迟任何 DOM 操作的情况(这听起来像是一个非常常见的用例)。<script>
答: 暂无答案
评论
window.requestAnimationFrame
window.requestIdleCallback