最近发现浏览器内置对象里有个好东西,window.performance。这里面包含着浏览器性能相关的各种数据,然后其中的timing属性,就是所有阶段的用时统计,从这一点我们就可以简单的从浏览器运行时间上进行分析。
function getsec(time) { return time / 1000 + \'s\' } window.onload = function () { var per = window.performance.timing; console.log(\'DNS查询耗时\' + getsec(per.domainLookupEnd - per.domainLookupStart)) console.log(\'TCP链接耗时\' + getsec(per.connectEnd - per.connectStart)) console.log(\'request请求响应耗时\' + getsec(per.responseEnd - per.responseStart)) console.log(\'dom渲染耗时\' + getsec(per.domComplete - per.domInteractive)) // console.log(\'白屏时间\' + getsec(firstPaint - pageStartTime)) console.log(\'domready可操作时间\' + getsec(per.domContentLoadedEventEnd - per.fetchStart)) }
运行结果如下
通过这种时间分析则可以看出当前页面的时间是花在什么地方,对我们做性能优化就有一个方向性的指导作用。