window.performance详解

performance的作用

浏览器暴露给js的一个接口,可以通过这个接口查看用户访问网站的连接建立时间、dns时间等信息。使用该api时需要在页面完全加载完成之后才能使用,最简单的办法是在window.onload事件中读取各种数据,因为很多值必须在页面完全加载之后才能得出。

浏览器支持情况

IE9和chrome6以上的版本都支持:

pc端
window.performance : ie9
window.webkitPerformance : chrome6-9
window.performance : chrome10+
移动端
android4.0

api的接口定义如下:

memory:浏览器内存情况

jsHeapSizeLimit
totalJSHeapSize
usedJSHeapSize
注:usedJSHeapSize表示所有被使用的js堆栈内存;totalJSHeapSize表示当前js堆栈内存总大小,这表示usedJSHeapSize不能大于totalJSHeapSize,如果大于,有可能出现了内存泄漏。

navigation :网页导航相关

redirectCount:重定向属性
一个只读属性,返回当前页面是几次重定向才过来的。但是这个接口有同源策略限制,即仅能检测同源的重定向。
type
返回值应该是0,1,2 中的一个。分别对应三个枚举值:

0 : TYPE_NAVIGATE (用户通过常规导航方式访问页面,比如点一个链接,或者一般的get方式)

1 : TYPE_RELOAD (用户通过刷新,包括JS调用刷新接口等方式访问页面)

2 : TYPE_BACK_FORWARD (用户通过后退按钮访问本页面)

Timing 组合值的意义

DNS查询耗时 :domainLookupEnd - domainLookupStart
TCP链接耗时 :connectEnd - connectStart
request请求耗时 :responseEnd - responseStart
解析dom树耗时 : domComplete - domInteractive
白屏时间 :responseStart - navigationStart
domready时间 :domContentLoadedEventEnd - navigationStart
onload时间 :loadEventEnd - navigationStart

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VDQ05LFw-1570946628301)(https://github.com/fredshare/performance)]

你可能感兴趣的:(性能)