2

MDN,我知道 DOMContentLoaded 不会等待样式表。

DOMContentLoaded 事件在初始 HTML 文档完全加载和解析后触发,无需等待样式表、图像和子框架完成加载。

但来自varvy.com和谷歌

一个常见的误解是样式与 domContentLoaded 无关,但根据 W3 HTML5 规范,这是不正确的

domContentLoaded:标记 DOM 准备好并且没有样式表阻塞 JavaScript 执行的点——这意味着我们现在可以(可能)构建渲染树。

domContentLoaded 通常在 DOM 和CSSOM都准备好时进行标记。

那么,哪一个是对的?什么是阻止脚本的样式表?

4

1 回答 1

1

必须执行所有内联 Javascript,因为它们会影响 dom..document.write例如。如果 JS 访问一些尚未加载的 CSS。另一种说法是“CSS 正在阻塞 JS”。所以 .. DOM 等待等待 CSS 加载的 JS。

DOM ----(等待)---> JS ----(等待)---> CSS

另一种说法:

DOM <---(阻塞)--- JS <---(阻塞)---- CSS

因此阻塞 CSS 必须在 domContentLoaded 之前加载!之后就没有样式表阻止 JavaScript 执行了!现在用粗体表示有意义吗?

CSSOM are ready表示它已准备好被 DOM 使用,因此 dom 未使用的 CSS 可以继续加载。

错误观念现在消除了吗?

于 2019-04-23T00:14:43.653 回答