PerformanceObserverEntryList: getEntriesByName() 方法
注意:此功能在 Web Workers 中可用。
getEntriesByName() 方法是 PerformanceObserverEntryList 介面的一個方法,它返回一個由明確觀察到的 PerformanceEntry 物件組成的列表,這些物件具有指定的 name 和 entryType。列表的成員由呼叫 observe() 方法時指定的 entry types 集合決定。該列表在觀察者的回撥函式中可用(作為回撥函式中的第一個引數)。
語法
js
getEntriesByName(name)
getEntriesByName(name, type)
引數
name-
一個表示要檢索條目名稱的字串。
type可選-
一個表示要檢索的條目型別的字串,例如
"mark"。有效的條目型別列在PerformanceEntry.entryType中。
返回值
一個由明確觀察到的 performance entry 物件組成的列表,這些物件具有指定的 name 和 type。如果未指定 type 引數,則僅使用 name 來確定要返回的條目。列表中的項將按照條目的 startTime 升序排列。如果沒有物件符合指定的條件,則返回一個空列表。
示例
使用 getEntries、getEntriesByName 和 getEntriesByType
以下示例顯示了 getEntries()、getEntriesByName() 和 getEntriesByType() 方法之間的區別。
js
const observer = new PerformanceObserver((list, obs) => {
// Log all entries
let perfEntries = list.getEntries();
perfEntries.forEach((entry) => {
console.log(`${entry.name}'s duration: ${entry.duration}`);
});
// Log entries named "debugging" with type "measure"
perfEntries = list.getEntriesByName("debugging", "measure");
perfEntries.forEach((entry) => {
console.log(`${entry.name}'s duration: ${entry.duration}`);
});
// Log entries with type "mark"
perfEntries = list.getEntriesByType("mark");
perfEntries.forEach((entry) => {
console.log(`${entry.name}'s startTime: ${entry.startTime}`);
});
});
// Subscribe to various performance event types
observer.observe({
entryTypes: ["mark", "measure", "navigation", "resource"],
});
規範
| 規範 |
|---|
| 效能時間線 # dom-performanceobserverentrylist-getentriesbyname |
瀏覽器相容性
載入中…