性能:getEntriesByName() 方法
getEntriesByName()
方法返回一个包含当前存在于性能时间线中的 PerformanceEntry
对象的数组,这些对象具有给定的 name 和 type。
如果您对特定类型的性能条目感兴趣,请参阅 getEntriesByType()
。对于所有性能条目,请参阅 getEntries()
。
注意:此方法不会通知您新的性能条目;您只会获得在调用此方法时存在于性能时间线中的条目。要接收有关可用条目的通知,请使用 PerformanceObserver
。
此方法完全不支持以下条目类型,即使可能存在这些类型的条目,也不会返回这些条目
"element"
(PerformanceElementTiming
)"event"
(PerformanceEventTiming
)"largest-contentful-paint"
(LargestContentfulPaint
)"layout-shift"
(LayoutShift
)"longtask"
(PerformanceLongTaskTiming
)
要访问这些类型的条目,您必须改用 PerformanceObserver
。
语法
js
getEntriesByName(name)
getEntriesByName(name, type)
参数
name
-
要检索的条目的名称。
type
可选-
要检索的条目的类型,例如 "
mark
"。有效条目类型在PerformanceEntry.entryType
中列出。
返回值
一个包含具有指定 name
和 type
的 Array
的 PerformanceEntry
对象。这些项将根据条目的 startTime
按时间顺序排列。如果没有任何对象满足指定条件,则返回一个空数组。
示例
记录性能标记
以下示例记录所有名为 "debug-mark
" 的 PerformanceMark
对象。
js
const debugMarks = performance.getEntriesByName("debug-mark", "mark");
debugMarks.forEach((entry) => {
console.log(`${entry.name}'s startTime: ${entry.startTime}`);
});
规范
规范 |
---|
性能时间线 # dom-performance-getentriesbyname |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。