Performance.getEntries() - Web API 接口参考 编辑
getEntries()
对于给定的filter,此方法返回 PerformanceEntry
对象数组. 数组成员(入口)可以在显式的时间点用 performance marks或measures 来创建(例如调用mark()
方法) .
语法
取全部:
entries = window.performance.getEntries(); entries = window.performance.getEntries(PerformanceEntryFilterOptions);
取特定:
entries = performance.getEntries({name: "entry_name", entryType: "mark"});
参数
- PerformanceEntryFilterOptions 可选
PerformanceEntryFilterOptions
是一个带有以下键值的字典:"name"
, performance entry. 的名字"entryType"
, entry 类型. 合法的entry类型可以从PerformanceEntry.entryType
方法获取."initiatorType"
, 初始化资源的类型(例如一个HTML element). 其取值被PerformanceResourceTiming.initiatorType
接口所定义.
返回值
- entries
- 一个由符合filter条件的
PerformanceEntry
对象构成的数组 . 数组成员按PerformanceEntry.startTime
时间顺序排列 . 如果没有符合filter条件的对象,那么返回空数组. 如果不带任何参数,返回全部entries.
Example
function use_PerformanceEntry_methods() {
log("PerformanceEntry tests ...");
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");
performance.mark("Begin");
do_work(100000);
performance.mark("End");
do_work(200000);
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]);
}
// Use getEntries(name, entryType) to get specific entries
p = performance.getEntries({name : "Begin", entryType: "mark"});
for (var i=0; i < p.length; i++) {
log("Begin[" + i + "]");
check_PerformanceEntry(p[i]);
}
// Use getEntriesByType() to get all "mark" entries
p = performance.getEntriesByType("mark");
for (var i=0; i < p.length; i++) {
log ("Mark only entry[" + i + "]: name = " + p[i].name +
"; startTime = " + p[i].startTime +
"; duration = " + p[i].duration);
}
// Use getEntriesByName() to get all "mark" entries named "Begin"
p = performance.getEntriesByName("Begin", "mark");
for (var i=0; i < p.length; i++) {
log ("Mark and Begin entry[" + i + "]: name = " + p[i].name +
"; startTime = " + p[i].startTime +
"; duration = " + p[i].duration);
}
}
//entryType,name,initiatorType Examples
var p = performance.getEntries();
var ptyps = p.map((ele) => {return(ele.entryType)});
//Array(94) [ "navigation", "resource", "resource", "resource", "resource", "resource", "resource", "resource", "resource", "resource", … ]
var pnms = p.map((ele) => {return(ele.name)});
//Array(94) [ "document", "https://csdnimg.cn/public/static/css/avatar.css", "https://csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js", "https://csdnimg.cn/rabbit/exposure-click/main-1.0.5.js", "https://csdnimg.cn/release/phoenix/production/main-e96db8abdf.js", "https://csdnimg.cn/pubfooter/js/tracking-1.0.2.js", "https://csdnimg.cn/public/common/toolbar/js/content_toolbar.js", "https://csdnimg.cn/release/phoenix/production/markdown_views-ea0013b516.css", "https://csdnimg.cn/search/baidu_search-1.1.2.js?v=201802071056&autorun=true&install=true&keyword=%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F", "https://csdnimg.cn/release/phoenix/production/main-f869aa95a4.css", … ]
var pityps = p.map((ele) => {return(ele.initiatorType)});
//Array(94) [ "navigation", "link", "script", "script", "script", "script", "script", "link", "script", "link", … ]
Specifications
Specification | Status | Comment |
---|---|---|
Performance Timeline Level 2 getEntries() | Candidate Recommendation | getEntries() method has an optional argument. |
Performance Timeline getEntries() | Recommendation | Initial definition. |
浏览器兼容性
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论