【发布时间】:2018-09-28 21:20:30
【问题描述】:
我正在尝试使用计时 API 来衡量页面加载性能。首先,我将以下代码包含在我的 html 文档的正文中,以检查我是否正确获取了所有属性。
<script>
window.addEventListener('load', () => {
console.log("navigationStart : "+ (performance.timing.navigationStart));
console.log("responseStart : "+ (performance.timing.responseStart));
console.log("responseEnd : "+ (performance.timing.responseEnd));
console.log("domComplete : "+ (performance.timing.domComplete));
console.log("loadEventStart : "+ (performance.timing.loadEventStart));
console.log("LoadEventEnd : "+ (performance.timing.loadEventEnd));
});
输出如下
导航开始:1538169000862
响应开始:1538169000862
回复结束:1538169000862
domComplete : 1538169001831
加载事件开始:1538169001831
加载事件结束:0
我想知道为什么 LoadEventEnd 为零?是因为页面还在加载吗?那么捕获这些指标的最佳时间是什么时候?
编辑 :-- 引入超时后,我能够捕获 LoadEvendEnd 时间。但是,当我转到下一页时,许多属性现在为零。
navigationStart : 1538172249035 响应开始:1538172249035 回复结束:1538172249035 dom完成:0 加载事件开始:0 加载事件结束:0
据我所知,此导航位于框架内。
【问题讨论】:
-
可能重复:stackoverflow.com/q/7606972/5247200。查看(当前)downmost answer,它引用了规范。
-
谢谢@David。添加超时后,我得到了例外结果。
标签: javascript html performance navigation-timing-api