【发布时间】:2014-03-31 18:02:53
【问题描述】:
我发现这很好 post at kirupa.com,但我想深入了解 DOM、脚本、CSS、图像、IFrame 等元素的加载、渲染和执行顺序。
到现在我已经理解了下一个顺序:
- DOM
- JS(我猜 JS 是内联的还是外部的,如果是外部的,我猜 DOM 加载会中断,直到 JS 被加载、渲染和执行)
- 内部 CSS? (或者是一起渲染的 DOM 加载。)
- 外部 CSS
- 外部图片
根据文章 '虽然外部样式表不会被加载,但内联和外部脚本都会。' 但根据MDM '样式表加载会阻止脚本执行'强>。所以脚本是先加载的,但只有在所有 css 可用后才执行?
我可以认为顺序取决于浏览器的实现,或者有什么标准可以做到这一点?
有专家会告诉我们正确的顺序吗?
提前致谢!
【问题讨论】:
-
您可以使用 Chrome DevTools 查看页面上元素的加载(网络选项卡)和呈现(时间线选项卡)的顺序。
-
样式表仅阻止
<script>执行跟随样式表链接的<script>块。否则<script>块会被同步加载和解析(除非存在“defer”或“async”属性,并且它们是相当新的)。 -
这当然取决于浏览器本身,每个
brand都会以他们认为会优化或使您的浏览体验比其他浏览器更好的方式实现他们的浏览器。也就是说,我会想象它们在很大程度上是相同的,几乎没有变化。见stackoverflow.com/a/1795502/148998 -
是的@shenku 我也认为每个实现都有一个最小变化的标准,否则我们开发人员会在我们已经拥有的浏览器上试验更多的错误。必须是订单。
标签: javascript html css definition