Performance
接口会给出某个页面的与时间相关的性能信息。
该类型对象可以通过调用只读属性 Window.performance
获得。
注意:该接口以及其属性存在于 Web Worker
, 除了下面指出的情况。注意该接口部分还没有写入规范中(详细查看 Performance Timeline 和 User Timing 规范文档)。同时需要注意 Performance 时间标记和测量环境只能是当前 Web Worker 线程中,不能跨 Worker 标记时间,比如在新建的 Worker 线程中进行标记时间,将无法被主 Worker 线程获取。
属性
Performance
接口不从别的类继承属性。
Performance.navigation
只读 Not available to workers- 是一个
PerformanceNavigation
对象代表了页面浏览上下文的导航信息,比如获取资源时的重定向。 Performance.timing
只读 Not available to workers- 是一个
PerformanceTiming
对象包含了与延迟相关的性能信息。 -
事件
Performance.onresourcetimingbufferfull
- 一个
EventTarget
回调方法,当resourcetimingbufferfull
事件触发时被调用。
方法
Performance
接口没有从别的类继承来的方法.
Performance.clearMarks()
- 清除浏览器的performance缓存中已经存在的的标记
Performance.clearMeasures()
- Removes the given measure from the browser's performance entry buffer.
Performance.clearResourceTimings()
- Removes all
performance entries
with aentryType
of "resource
" from the browser's performance data buffer. Performance.getEntries()
- Returns a list of
PerformanceEntry
objects based on the given filter. Performance.getEntriesByName()
- Returns a list of
PerformanceEntry
objects based on the given name and entry type. Performance.getEntriesByType()
- Returns a list of
PerformanceEntry
objects of the given entry type. Performance.mark()
- Creates a
timestamp
in the browser's performance entry bufferwith the given name. Performance.measure()
- Creates a named
timestamp
in the browser's performance entry buffer between two specified marks (known as the start mark and end mark, respectively). Performance.now()
- 返回一个
DOMHighResTimeStamp
类实例表示距离页面开始请求到现在相差的毫秒数(即 Date.now() -Performance.timing.navigationStart
)。 Performance.setResourceTimingBufferSize()
- Sets the browser's resource timing buffer size to the specified number of "
resource
"type
performance entry
objects. Performance.toJSON()
Not available to workers- Is a jsonizer returning a json object representing the
Performance
object.
Specifications
Specification | Status | Comment |
---|---|---|
High Resolution Time Level 2 toJSON() |
Candidate Recommendation | Defines toJson() method. |
High Resolution Time Performance |
Recommendation | Defines now() method. |
Navigation Timing Performance |
Recommendation | Defines timing and navigation properties. |
Performance Timeline Time Level 2 Performance extensions |
Editor's Draft | Changes getEntries() interface. |
Performance Timeline Performance extensions |
Recommendation | Defines getEntries() , getEntriesByType() and getEntriesByName() methods. |
Resource Timing Level 1 Performance extensions |
Candidate Recommendation | Defines clearResourceTimings() and setResourceTimingBufferSize() methods and the onresourcetimingbufferfull property. |
User Timing Performance extensions |
Editor's Draft | Clarifies mark() , clearMark() , measure() and clearMeasure() methods. |
User Timing Performance extensions |
Recommendation | Defines mark() , clearMark() , measure() and clearMeasure() methods. |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support (timing attribute) |
6.0 [1] | (Yes) | 7.0 (7.0) | 9.0 | 15.0 | 8 |
navigation attribute |
9 | ? | 7 (7) | 9.0 | 15 | 8 |
now() on regular context |
20.0 -webkit 24.0 |
? | 15.0 (15.0) | 10.0 | (Yes) | 8 |
now() in Web workers. |
33.0 | ? | 34.0 (34.0) | ? | (Yes) | 未实现 |
toJSON() |
未实现 | ? | 25.0 (25.0) | 9.0 | 未实现 | 未实现 |
getEntries() , getEntriesByType() , getEntriesByName() |
(Yes) | ? | (Yes) | (Yes) | (Yes) | 11 |
clearResourceTimings() , setResourceTimingBufferSize() |
(Yes) | ? | (Yes) | (Yes) | (Yes) | 未实现 |
onresourcetimingbufferfull |
(Yes) | ? | (Yes) | 未实现 | (Yes) | 未实现 |
mark() , clearMarks() , measure() , clearMeasure() |
43.0 | ? | 41 | 10 | 33 | 未实现 |
Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | 7.0 (7.0) | 1.0 (7.0) | 9.0 | 15.0 | 9 | (Yes) |
navigation attribute |
未实现 | (Yes) | ? | 未实现 | 未实现 | 9.0 | (Yes) | 9 | (Yes) |
now() on regular context |
25.0 | ? | 15.0 (15.0) | 1.0 (15.0) | 10.0 | (Yes) | 9 | 20.0 webkit 25.0 |
|
now() in Web workers. |
未实现 | (Yes) | ? | 34.0 (34.0) | ? | ? | ? | ? | (Yes) |
toJSON() |
未实现 | 未实现 | ? | 25.0 (25.0) | 1.2 (25.0) | 10.0 | 未实现 | ? | 未实现 |
getEntries() , getEntriesByType() , getEntriesByName() |
4.4 | (Yes) | ? | 25.0 (25.0) | 1.2 (25.0) | 10.0 | 33 | 11 | 59 |
clearResourceTimings() , setResourceTimingBufferSize() |
未实现 | (Yes) | ? | (Yes) | (Yes) | (Yes) | 33 | 未实现 | (Yes) |
onresourcetimingbufferfull |
未实现 | (Yes) | ? | (Yes) | ? | 未实现 | 33 | 未实现 | (Yes) |
mark() , clearMarks() , measure() , clearMeasure() |
未实现 | 46.0 | ? | 42 | 42 | 10 | 33 | 未实现 | 46.0 |
[1] Member prefixed with webkit have been removed or deprecated.