W3C性能小组引入的新的API window.performance,目前IE9以上的浏览器都支持。它是一个浏览器中用于记录页面加载和解析过程中关键时间点的对象。放置在global环境下,通过JavaScript可以访问到它。
使用性能API
探测和兼容performance:
1
2
3
4var performance = window.performance || window.msPerformance || window.webkitPerformance;
if(performance){
// 支持性能 API
}
performance api结构
performance.memory
显示内存的占用情况,是一个动态值:- usedJSHeapSize:表示:JS 对象(包括V8引擎内部对象)占用的内存数
- totalJSHeapSize: 可使用的内存
- jsHeapSizeLimit: 内存大小限制
performance.navigation
显示页面的来源信息- redirectCount:重定向的话,页面通过几次重定向跳转而来,默认为0;
- type:表示页面打开的方式
- 0 表示 TYPE_NAVIGATENEXT 正常进入的页面(非刷新、非重定向等)
- 1 表示 TYPE_RELOAD 通过 window.location.reload() 刷新的页面
- 2 表示 TYPE_BACK_FORWARD 通过浏览器的前进后退按钮进入的页面(历史记录)
- 255 表示 TYPE_UNDEFINED 非以上方式进入的页面
performance.onresourcetimingbufferfull
属性是一个在resourcetimingbufferfull事件触发时会被调用的 event handler 。它的值是一个手动设置的回调函数,这个回调函数会在浏览器的资源时间性能缓冲区满时执行。performance.timeOrigin
是一系列时间点的基准点,可以精确到万分之一毫秒performance.timing
:是一系列关键时间点,它包含了网络、解析等一系列的时间数据