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 的浏览器中加载。