PerformanceResourceTiming - Web API 接口参考 编辑
PerformanceResourceTiming接口可以检索和分析有关加载应用程序资源的详细网络计时数据。 应用程序可以使用timing指标来确定获取特定资源所需的时间长度,例如
XMLHttpRequest
,<SVG>
,image或script。 这个接口使用high-resolution timestamps
属性创建加载资源时间轴,用于网络事件,例如重定向开始( redirect start )和结束时间,获取开始( fetch start ),DNS查找开始( DNS lookup start )和结束时间,响应开始( response start )和结束时间等。此外,接口扩展PerformanceEntry
与其他属性,这些属性提供有关获取资源大小的数据以及初始化时获取的资源类型。 <div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 11.666666666666666%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 70" preserveAspectRatio="xMinYMin meet"><a xlink:href="https://developer.mozilla.org/wiki/zh-CN/docs/Web/API/PerformanceEntry" target="_top"><rect x="1" y="1" width="160" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="81" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">PerformanceEntry</text></a><polyline points="161,25 171,20 171,30 161,25" stroke="#D4DDE4" fill="none"/><line x1="171" y1="25" x2="201" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/wiki/zh-CN/docs/Web/API/PerformanceResourceTiming" target="_top"><rect x="201" y="1" width="250" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="326" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">PerformanceResourceTiming</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
Note: 此特性在 Web Worker 中可用。属性
此接口通过限定和约束PerformanceEntry
属性来扩展资源性能条目类型,如下所示:
-
PerformanceEntry.entryType
只读 - 返回
"resource"
. PerformanceEntry.name
只读- 返回 resources URL.
PerformanceEntry.startTime
只读- 在资源提取开始的时间返回
timestamp
。该值等于PerformanceEntry.fetchStart
。 PerformanceEntry.duration
只读- 返回
timestamp
,它是responseEnd
和startTime
属性之间的差异。
该接口还支持以下属性,这些属性按记录顺序列出以获取单个资源。 按字母顺序排列的列表显示在左侧的导航栏中。
PerformanceResourceTiming.initiatorType
只读- 返回
string
,表示初始化性能条目的资源类型,如PerformanceResourceTiming.initiatorType
中所规定。 PerformanceResourceTiming.nextHopProtocol
只读- 返回
string
,表示用于获取资源的网络协议,由ALPN Protocol ID (RFC7301)标识。 PerformanceResourceTiming.workerStart
只读- 如果Service Worker线程已在运行,则在调用
FetchEvent
之前立即返回DOMHighResTimeStamp
,如果尚未运行,则在启动Service Worker线程之前立即返回DOMHighResTimeStamp
。 如果资源未被Service Worker拦截,则该属性将始终返回0。 PerformanceResourceTiming.redirectStart
只读- 返回
DOMHighResTimeStamp
, 表示初始重定向的开始获取时间。 PerformanceResourceTiming.redirectEnd
只读- 返回
DOMHighResTimeStamp
,紧接在收到最后一次重定向响应的最后一个字节后。 PerformanceResourceTiming.fetchStart
只读- 返回
DOMHighResTimeStamp
,紧接在浏览器开始获取资源之前。 PerformanceResourceTiming.domainLookupStart
只读- 返回
DOMHighResTimeStamp
,紧接在浏览器启动资源的域名查找之前。 PerformanceResourceTiming.domainLookupEnd
只读- 返回
DOMHighResTimeStamp
,表示浏览器完成资源的域名查找后的时间。 PerformanceResourceTiming.connectStart
只读- 返回
DOMHighResTimeStamp
,紧接在浏览器检索资源,开始建立与服务器的连接之前。 PerformanceResourceTiming.connectEnd
只读- 返回
DOMHighResTimeStamp
,紧接在浏览器完成与服务器的连接以检索资源之后。 PerformanceResourceTiming.secureConnectionStart
只读- 返回
DOMHighResTimeStamp
,紧接在浏览器启动握手过程之前,以保护当前连接。 PerformanceResourceTiming.requestStart
只读- 返回
DOMHighResTimeStamp
,紧接在浏览器开始从服务器请求资源之前。 PerformanceResourceTiming.responseStart
只读- 返回
DOMHighResTimeStamp
,紧接在浏览器收到服务器响应的第一个字节后。 PerformanceResourceTiming.responseEnd
只读- 返回
DOMHighResTimeStamp
,紧接在浏览器收到资源的最后一个字节之后或紧接在传输连接关闭之前,以先到者为准。 PerformanceResourceTiming.transferSize
只读- 表示获取资源的大小(以八位字节为单位)的
数字
。 包括响应头字段和响应payload body的大小。 PerformanceResourceTiming.encodedBodySize
只读- 在删除任何应用的内容编码之前,从payload body的提取(HTTP或高速缓存)接收的大小(以八位字节为单位)的
数字
。 PerformanceResourceTiming.decodedBodySize
只读- 在删除任何应用的内容编码之后,从消息正文( message body )的提取(HTTP或缓存)接收的大小(以八位字节为单位)的
数字
。 PerformanceResourceTiming.serverTiming
只读- 包含服务器时序度量( timing metrics )的
PerformanceServerTiming
条目数组。
方法
PerformanceResourceTiming.toJSON()
- 返回
DOMString
, 它是PerformanceResourceTiming
对象的JSON表示形式。
Example
See the example in Using the Resource Timing API.
规范
Specification | Status | Comment |
---|---|---|
Resource Timing Level 1 PerformanceResourceTiming | Candidate Recommendation | Initial definition. |
浏览器兼容性
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.参考
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论