PerformanceEntry:duration 属性

只读的duration属性返回一个时间戳,表示性能条目的持续时间。此属性的含义取决于此条目的entryType的值。

一个DOMHighResTimeStamp,表示性能条目的持续时间。如果持续时间概念不适用于特定的性能指标,则返回持续时间0

此属性的含义取决于此性能条目的entryType的值

event

从事件的startTime到下一个渲染绘制的时间(四舍五入到最接近的 8 毫秒)。

first-input

从第一个输入事件的startTime到下一个渲染绘制的时间(四舍五入到最接近的 8 毫秒)。

longtask

任务开始和结束之间经过的时间,精度为 1 毫秒。

measure

测量的持续时间。

条目的loadEventEndstartTime属性之间的差值。

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

浏览器兼容性

BCD 表格仅在浏览器中加载