PerformanceEntry: duration 屬性

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本使用。自 2017 年 9 月以來,它已在瀏覽器中提供。

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

只讀的 duration 屬性返回一個 DOMHighResTimeStamp,表示 效能條目 的持續時間。此屬性的含義取決於該條目的 entryType 的值。

一個 DOMHighResTimeStamp,表示 效能條目 的持續時間。如果持續時間的概念不適用於特定的效能指標,則返回 0

此屬性的含義取決於此效能條目的 entryType 的值。

event

從事件的 startTime 到下一個渲染幀的時間(四捨五入到最近的 8 毫秒)。

first-input

從第一個輸入事件的 startTime 到下一個渲染幀的時間(四捨五入到最近的 8 毫秒)。

longtask

任務開始和結束之間的時間間隔,精度為 1 毫秒。

measure

度量(measure)的持續時間。

該條目的 loadEventEnd 屬性與 startTime 屬性之間的差值。

resource

該條目的 responseEnd 值減去該條目的 startTime 值。

對於以下條目型別,duration 不適用,在這種情況下,其值始終為 0

  • element
  • largest-contentful-paint
  • layout-shift
  • mark
  • paint
  • taskattribution
  • visibility-state

示例

使用 duration 屬性

以下示例記錄所有觀察到的 duration 大於 0 的效能條目。

js
function perfObserver(list, observer) {
  list.getEntries().forEach((entry) => {
    if (entry.duration > 0) {
      console.log(`${entry.name}'s duration: ${entry.duration}`);
    }
  });
}
const observer = new PerformanceObserver(perfObserver);
observer.observe({ entryTypes: ["measure", "mark", "resource"] });

規範

規範
效能時間線
# dom-performanceentry-duration

瀏覽器相容性