PerformanceEntry:duration 属性
值
一个DOMHighResTimeStamp
,表示性能条目的持续时间。如果持续时间概念不适用于特定的性能指标,则返回持续时间0
。
此属性的含义取决于此性能条目的entryType
的值
event
-
从事件的
startTime
到下一个渲染绘制的时间(四舍五入到最接近的 8 毫秒)。 first-input
-
从第一个输入事件的
startTime
到下一个渲染绘制的时间(四舍五入到最接近的 8 毫秒)。 longtask
-
任务开始和结束之间经过的时间,精度为 1 毫秒。
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 |
浏览器兼容性
BCD 表格仅在浏览器中加载