我正在检测连接速度,所以我计划使用window.performance对象进行持续时间计算.
我很少与window.performance.timing对象混淆,该对象是基于整个页面加载或基于最后的请求和响应生成的.
例如:
我有5个服务器调用网页加载,performance.timing对象是基于所有5个服务器调用或基于第5个服务器调用(最后一次调用)生成的.
样本连接速度计算供参考
var bitsLoaded = 100000; //bits total size of all files (5 server call).
var duration = performance.timing.responseEnd - performance.timing.navigationStart;
var speedBps = Math.round(bitsLoaded / duration);
var speedKbps = (speedBps / 1024).toFixed(2);
var speedMbps = (speedKbps / 1024).toFixed(2);
Run Code Online (Sandbox Code Playgroud)
任何不清楚的准备解释
关于window.performance的任何想法
Cal*_*ang 47

不确定这个图表是否能让你更好地理解performance.timing.
对于你的问题:
我有5个服务器调用网页加载,performance.timing对象是基于所有5个服务器调用或基于第5个服务器调用(最后一次调用)生成的.
答案是:performance.timing基于所有请求和响应生成(但不包括ajax).
对于你给出的样本连接速度计算脚本,我想下面的一个更好.
var duration = performance.timing.responseEnd - performance.timing.responseStart;
Run Code Online (Sandbox Code Playgroud)
其原因是:从所述持续时间navigationStart,以responseEnd 包括不从服务器传送任何数据到客户机DNS定时.
有关时间的定义,请参阅https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html.
| 归档时间: |
|
| 查看次数: |
14415 次 |
| 最近记录: |