PerformanceObserver

Baseline 廣泛可用 *

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

* 此特性的某些部分可能存在不同級別的支援。

注意:此功能在 Web Workers 中可用。

PerformanceObserver 介面用於觀察效能測量事件,並在瀏覽器效能時間線記錄新的效能條目時得到通知。

建構函式

PerformanceObserver()

建立並返回一個新的 PerformanceObserver 物件。

靜態屬性

PerformanceObserver.supportedEntryTypes 只讀

返回使用者代理支援的 entryType 值陣列。

例項方法

PerformanceObserver.observe()

指定要觀察的條目型別集合。當記錄到指定 entryTypes 之一的效能條目時,將呼叫效能觀察器的回撥函式。

PerformanceObserver.disconnect()

停止效能觀察器回撥函式接收效能條目。

PerformanceObserver.takeRecords()

返回效能觀察器中儲存的效能條目列表,並清空它。

示例

建立 PerformanceObserver

以下示例建立一個 PerformanceObserver,用於監視“mark”(PerformanceMark)和“measure”(PerformanceMeasure)事件。perfObserver 回撥函式提供了一個 listPerformanceObserverEntryList),允許您獲取觀察到的效能條目。

js
function perfObserver(list, observer) {
  list.getEntries().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}`);
    }
  });
}
const observer = new PerformanceObserver(perfObserver);
observer.observe({ entryTypes: ["measure", "mark"] });

規範

規範
效能時間線
# dom-performanceobserver

瀏覽器相容性

另見