首页 > 解决方案 > 性能计时 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

标签: javascriptperformanceapinavigation

解决方案


推荐阅读