PerformanceNavigationTiming: unloadEventStart property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2021.

Thuộc tính chỉ đọc unloadEventStart trả về một DOMHighResTimeStamp biểu thị thời điểm ngay trước khi trình xử lý sự kiện unload của tài liệu trước đó bắt đầu.

Giá trị

Thuộc tính unloadEventStart có thể có các giá trị sau:

  • Một DOMHighResTimeStamp biểu thị thời điểm ngay trước khi trình xử lý sự kiện unload của tài liệu trước đó bắt đầu.
  • 0 nếu không có tài liệu trước đó.
  • 0 nếu trang trước đó ở một nguồn gốc khác.

Ví dụ

Đo thời gian xử lý sự kiện unload

Thuộc tính unloadEventStart có thể được dùng để đo thời gian xử lý trình xử lý sự kiện unload.

Điều này hữu ích để đo thời gian của các trình xử lý unload chạy lâu.

js
window.addEventListener("unload", (event) => {
  // Một số mã chạy lâu
});

Ví dụ dùng PerformanceObserver...

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    const unloadEventTime = entry.unloadEventEnd - entry.unloadEventStart;
    if (unloadEventTime > 0) {
      console.log(
        `${entry.name}: unload event handler time: ${unloadEventTime}ms`,
      );
    }
  });
});

observer.observe({ type: "navigation", buffered: true });

Ví dụ dùng Performance.getEntriesByType():

js
const entries = performance.getEntriesByType("navigation");
entries.forEach((entry) => {
  const unloadEventTime = entry.unloadEventEnd - entry.unloadEventStart;
  if (unloadEventTime > 0) {
    console.log(`${entry.name}:
      load event handler time: ${unloadEventTime}ms`);
  }
});

Thông số kỹ thuật

Specification
Navigation Timing Level 2
# dom-performancenavigationtiming-unloadeventstart

Tương thích trình duyệt

Xem thêm