Performance:getEntries() 方法
getEntries()
方法返回性能时间轴中当前存在的全部 PerformanceEntry
对象的数组。
如果您只对特定类型的或具有特定名称的性能条目感兴趣,请参阅 getEntriesByType()
和 getEntriesByName()
。
注意:此方法不会通知您新的性能条目;您只会获取在调用此方法时性能时间轴中存在的条目。要接收有关条目的可用通知,请使用 PerformanceObserver
。
此方法根本不支持以下条目类型,即使这些类型的条目可能存在,也不会返回。
"element"
(PerformanceElementTiming
)"event"
(PerformanceEventTiming
)"largest-contentful-paint"
(LargestContentfulPaint
)"layout-shift"
(LayoutShift
)"longtask"
(PerformanceLongTaskTiming
)
要访问这些类型的条目,您必须改用 PerformanceObserver
。
语法
js
getEntries()
参数
无。
返回值
Array
的 PerformanceEntry
对象。项目将根据条目的 startTime
按时间顺序排列。
示例
记录所有性能标记和度量
假设您在代码的适当位置创建了自己的 PerformanceMark
和 PerformanceMeasure
对象,您可能希望像这样将它们全部记录到控制台
js
// Example markers/measures
performance.mark("login-started");
performance.mark("login-finished");
performance.mark("form-sent");
performance.mark("video-loaded");
performance.measure("login-duration", "login-started", "login-finished");
const entries = performance.getEntries();
entries.forEach((entry) => {
if (entry.entryType === "mark") {
console.log(`${entry.name}'s startTime: ${entry.startTime}`);
}
if (entry.entryType === "measure") {
console.log(`${entry.name}'s duration: ${entry.duration}`);
}
});
规范
规范 |
---|
性能时间轴 # dom-performance-getentries |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。