PerformanceEntry.duration - Web API 接口参考 编辑
The duration
property returns a timestamp
that is the duration of the performance entry
.
The value returned by this property depends on the performance entry's type
:
- "
frame
" - returns atimestamp
indicating the difference between thestartTime
s of two successive frames. - "
mark
" - returns "0
" (a mark has no duration). - "
measure
" - returns thetimestamp
that is the duration of the measure. - "
navigation
" - returns thetimestamp
that is the difference between thePerformanceEntry.loadEventEnd
andPerformanceEntry.startTime
properties, respectively.例如: entry.entryType "navigation",entry.duration 3611.26, entry.loadEventEnd 3611.2672285754975, entry.startTime 0; - "
resource
" - 返回 resource 的responseEnd
timestamp
和startTime
timestamp
的时间差. 例如: entry.entryType "resource",entry.duration 901.1400000000001, entry.responseEnd 2527.82, entry.startTime 1626.68, 2527.82 - 1626.68 == 901.1400000000001;
This property is 只读 .
Syntax
entry.duration;
Return value
A DOMHighResTimeStamp
representing the duration of the performance entry
. If the duration concept doesn't apply for a particular performance metric, the browser may choose to return a duration of 0.
Note: if the performance entry has an entryType
of "resource
" (i.e. the entry is a PerformanceResourceTiming
object), this property returns the difference between the PerformanceEntry.responseEnd
and PerformanceEntry.startTime
timestamps
.
Example
The following example shows the use of the duration
property.
function run_PerformanceEntry() {
log("PerformanceEntry support ...");
if (performance.mark === undefined) {
log("... performance.mark Not supported");
return;
}
// Create some performance entries via the mark() method
performance.mark("Begin");
do_work(50000);
performance.mark("End");
// Use getEntries() to iterate through the each entry
var p = performance.getEntries();
for (var i=0; i < p.length; i++) {
log("Entry[" + i + "]");
check_PerformanceEntry(p[i]);
}
}
function check_PerformanceEntry(obj) {
var properties = ["name", "entryType", "startTime", "duration"];
var methods = ["toJSON"];
for (var i=0; i < properties.length; i++) {
// check each property
var supported = properties[i] in obj;
if (supported)
log("..." + properties[i] + " = " + obj[properties[i]]);
else
log("..." + properties[i] + " = Not supported");
}
for (var i=0; i < methods.length; i++) {
// check each method
var supported = typeof obj[methods[i]] == "function";
if (supported) {
var js = obj[methods[i]]();
log("..." + methods[i] + "() = " + JSON.stringify(js));
} else {
log("..." + methods[i] + " = Not supported");
}
}
}
Specifications
Specification | Status | Comment |
---|---|---|
Performance Timeline Level 2 duration | Candidate Recommendation | |
Performance Timeline duration | Recommendation | Initial definition. |
Browser compatibility
BCD tables only load in the browser
The compatibility table on 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论