PerformanceEntry: startTime 属性
只读的startTime
属性返回为此 PerformanceEntry
记录的第一个 时间戳。此属性的含义取决于此条目的 entryType
的值。
值
表示 PerformanceEntry
创建时的第一个时间戳的 DOMHighResTimeStamp
。
此属性的含义取决于此性能条目的 entryType
的值
element
-
如果此条目的
renderTime
不为0
,则为其值,否则为其loadTime
的值。 event
-
事件创建的时间,即事件的
timeStamp
属性。 first-input
-
第一个输入事件创建的时间,即该事件的
timeStamp
。 largest-contentful-paint
-
如果此条目的
renderTime
不为0
,则为其值,否则为其loadTime
的值。 layout-shift
-
布局偏移开始的时间。
longtask
-
任务开始的时间。
mark
-
通过调用
performance.mark()
创建标记的时间。 measure
-
通过调用
performance.measure()
创建度量的时间。 -
始终为
0
。 paint
-
绘制发生的时间。
resource
-
此条目的
fetchStart
属性的值。 taskattribution
-
始终为
0
。 visibility-state
-
可见性状态更改发生的时间。
示例
使用 startTime 属性
以下示例显示了 startTime
属性的使用,您可以在性能观察期间记录该属性。
注意:performance.mark()
方法允许您设置自己的 startTime
,而 performance.measure()
方法允许设置度量的开始时间。
js
performance.mark("my-mark");
performance.mark("my-other-mark", { startTime: 12.5 });
loginButton.addEventListener("click", (clickEvent) => {
performance.measure("login-click", { start: clickEvent.timeStamp });
});
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-performanceentry-starttime |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。