javascript - 性能计时 API 不一致
问题描述
我正在尝试使用 navigaiton API 跟踪页面加载在网络上花费的时间。我打算使用以下公式
网络时间 = (responseEnd – fetchStart) – ( responseStart – requestStart).(responseStart – requestStart) 是服务器收到请求后向浏览器发送响应的第一个字节所用的时间。我对 API 的理解正确吗?
另外,当我尝试获取这些数据时,直到 responseEnd 为止,我都得到了相同的值。
window.onload = function(){
setTimeout(function(){
console.log("navigationStart : "+ (performance.timing.navigationStart));
console.log("fetchStart: "+ (performance.timing.fetchStart));
console.log("requestStart: "+ (performance.timing.requestStart));
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));
console.log("now: "+ (Date.now()));
console.log("frame count is "+ (frames.length));
}, 0);
}
下面是输出
导航开始:1543517910446 fetchStart:1543517910446 requestStart:1543517910446 responseStart:1543517910446 responseEnd:1543517910446 domComplete : 1543517912670 加载事件开始:1543517912670 加载事件结束:1543517912908 现在:1543517912936 帧数为 0
解决方案
推荐阅读
- python - OUTPUT_PATH 键和 sys.stdout 在 python 中是否具有相同的功能?
- amazon-redshift - RedShift - 为什么不应该压缩 sortykey 列?
- java - 订阅 Google Pub/Sub 主题 X 秒,如果没有收到消息则停止
- node.js - eslint 多配置注释
- pine-script - ORB 仅在第 1 根 4 根蜡烛在松树中的第 1 根蜡烛范围内
- javascript - 如何使用javascript从firebase中的child检索子值?
- c - 不同函数中的动态数组声明
- node.js - 已拒绝访问以解析属性“大小”,因为它不是其父级的“自己的属性”
- css - Material UI 和 React &hover 选择器不起作用
- linq - 如何使用 dotnet core 获取 cosmos db 中的所有容器项