【发布时间】:2018-10-31 21:04:54
【问题描述】:
一旦 HTML 被加载,浏览器就会以 同步 的方式对其进行解析。通常我们使用DOMContentLoaded 事件等待DOM 准备好。但我想知道 DOM 是否会在下一个 VM 滴答声中始终准备好?如果我使用setTimeout 或Promise.resolve().then() 等任何异步函数在下一个VM 滴答中运行回调,我是否可以依赖可用的DOM?
一个规范摘录的链接,保证受到赞赏。
一个例子是一个框架或一个库,它总是异步引导并且不为DOMContentLoaded事件添加监听器。
【问题讨论】:
-
我尝试过使用 0 超时和 DOMContentLoaded 事件侦听器,总是首先调用 DOMContentLoaded(在 chrome 中)。我觉得超时脚本在执行之后也会先被解析,一旦解析完成就会触发 DOMContentLoaded
标签: javascript dom browser