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 |
瀏覽器相容性
載入中…