0

performance.timing存储在网页加载期间发生的各种事件的时间:

导航时序概览
(来源:dvcs.w3.org

我了解到 HTML 标记会被解析,并且既没有“defer”也没有“async”属性的元素在和<script>之间同步执行,然后具有“defer”属性的脚本(即,在文档完成时执行的脚本列表中的脚本解析)之前执行。然后执行带有属性的元素,如果有的话, before被设置为并在 Window 对象上触发事件。domLoadingdomInteractiveDOMContentLoaded<script>asyncdocument.readyStatecompleteload

旋转事件循环,直到将尽快执行的脚本集和将尽快按顺序执行的脚本列表为空。

我的问题是网页内容何时显示?它们是否在解析 HTML 标签时同时显示?还是在脚本执行阶段?或之后loadEventEnd
加载大页面时,页面显示后加载图标仍然旋转一段时间,浏览器是否在此期间执行脚本?

4

2 回答 2

0

HTML 页面以增量方式显示。显示从domInteractive发生的点开始(此时通常还没有所有内容都存在),并且通常在该点之后继续。

于 2013-02-28T17:02:55.473 回答
0

从 IE9 开始,有一个属性可能对您有用,一个 Microsoft 独有的前缀 NavigationTiming 属性,称为window.performance.timing.msFirstPaint. 该属性在第一次绘制页面时公开。

它(还)在其他浏览器中不可用,而且我们还没有看到它们有多大的吸引力,所以我不确定它是否会成为 NavigationTiming 标准的一部分。

于 2014-01-15T00:43:46.550 回答