Web前端之路

HTML5 Performance

2017-11-01  本文已影响598人  elle0903

简介

performance是html5的新特性之一,通过它,页面的开发者们可以非常精确的统计到自己页面的表现情况,从而有针对性的进行优化,提升用户体验。

下面是小姐姐对performance相关API的学习总结,一起上车吧~

performance.timing


返回一个PerformanceTiming对象,用来获取完整的页面加载信息。

是时候祭出这张图了:

页面完整加载过程

我们会比较关注的几个时间段及其耗时的计算方法如下:

performance.now


返回一个DOMHighResTimeStamp对象,获取从timing.navigationStart开始到调用该方法的时间,精确到千分之五毫秒(5微秒)。

下面是该方法的使用场景之一:通过计算代码块的起始位置以及结束位置performance.now()的差值,来获取一个比较精确的代码执行时间。

看代码:

var startTime, endTime;

startTime = window.performance.now();

doSomething();

endTime = window.performance.now();

console.log(endTime - startTime);

资源性能数据


performance提供若干API允许我们对页面中加载的资源进行性能分析。

performance.getEntries

获取一组当前页面已经加载的资源PerformanceEntry对象。接收一个可选的参数options进行过滤,options支持的属性有nameentryTypeinitiatorType

var entries = window.performance.getEntries();

返回值如下图所示:

资源性能数据

performance.getEntriesByName

根据参数nametype获取一组当前页面已经加载的资源数据。name的取值对应到资源数据中的name字段,type取值对应到资源数据中的entryType字段。

var entries = window.performance.getEntriesByName(name, type);

performance.getEntriesByType

根据参数type获取一组当前页面已经加载的资源数据。type取值对应到资源数据中的entryType字段。

var entries = window.performance.getEntriesByType(type);

performance.setResourceTimingBufferSize

设置当前页面可缓存的最大资源数据个数,entryTyperesource的资源数据个数。超出时,清空所有entryTyperesource的资源数据。

window.performance.setResourceTimingBufferSize(maxSize);

performance.onresourcetimingbufferfull

entryTyperesource的资源数量超出设置值的时候会触发该事件。

performance.clearResourceTimings

移除缓存中所有entryTyperesource的资源数据。

自定义计时接口


performance.mark

创建一个DOMHighResTimeStamp保存在资源缓存数据中,可通过performance.getEntries()等相关接口获取。

window.performance.mark(name)

performance.clearMarks

移除缓存中所有entryTypemark的资源数据。

performance.measure
计算两个mark之间的时长,创建一个DOMHighResTimeStamp保存在资源缓存数据中,可通过performance.getEntries()等相关接口获取。

window.performance.measure(name, startMark, endMark);

performance.clearMeasures

移除缓存中所有entryTypemeasure的资源数据。

performance.navigation


返回一个PerformanceNavigation类型的只读对象:

performance.toJSON


返回一个包含performance对象所有属性的JSON对象。

THE END


以上就是全部内容啦,有意见或者建议欢迎积极留言哦,笔芯~

上一篇 下一篇

猜你喜欢

热点阅读