domLoading时间代表浏览器处理文档的最开始。
但是domLoading属性已从Timing API:performance.getEntriesByType("navigation")[0].domLoading == undefined
我found的动机来自2015年9月17日:
domLoading
属性已被弃用,在本规范的将来版本中可能会删除。由于在现有用户代理中创建Document对象的时间不同,因此domLoading返回的值是特定于实现的,因此不应在有意义的指标中使用。
MDN都没有告诉您使用什么。我没有发现关于此的任何问题,这很奇怪。我可以看到,responseEnd和domInteractive是时间上最接近的属性,但是它们相差太大。
如果没有此属性可用于处理文档,我不知道文档成为interactive,获取content loaded或到达complete所需的时间。
是否有任何正确的参考文献可以用来衡量和比较,我错过了或可以代替 ?
var nt = performance.getEntriesByType("navigation")[0],
/* domLoading = nt.domLoading; <<< Error: undefined */
domLoading = nt.responseEnd; //Not correct? Hopefully same.
console.log("Dom parsed in " + (nt.domInteractive - domLoading) + " ms")
console.log("Dom ready in " + (nt.domContentLoadedEventStart - domLoading) + " ms")
console.log("Dom complete in " + (nt.domComplete - domLoading) + " ms")
我在w3c.github.io上发现了这个新的时间表,表明没有可测量的dom起点。
答案 0 :(得分:0)
不是。使用 User Time API 来测量动态加载的JS文件。
Resource Time API用于没有处理的CSS或IMG之类的资源。
这些图适合导航定时(网页)。
这是类似于导航但没有处理部分的资源图。
没有要加载的dom-没有domLoading属性
答案 1 :(得分:0)
w3c标准说domLoading is no longer in PerformanceNavigationTiming
Chrome和Firefox设置了performance.domLoading == undefined
,但该属性仍然存在。您可以在控制台中看到它。
console.log(JSON.stringify(performance.timing).split(/[{,}]/).join('\n'))
将其放在<head>
的开头以将其取回:
<script>
Performance.prototype.domLoading = performance.now()
</script>
这是有效的,因为DOM刚开始解析页面。