PerformanceEntry: startTime 属性
注意:此功能在 Web Workers 中可用。
只读的 startTime 属性返回为此 PerformanceEntry 记录的第一个 timestamp。此属性的含义取决于此条目 entryType 的值。
值
一个 DOMHighResTimeStamp,表示创建 PerformanceEntry 时的第一个时间戳。
此属性的含义取决于此性能条目的 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 |
浏览器兼容性
加载中…