PerformanceNavigationTiming: свойство unloadEventStart
Базовая реализация Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с октября 2021 года.
Чтение-только свойство unloadEventStart возвращает DOMHighResTimeStamp, представляющий время непосредственно перед запуском обработчика события unload текущего документа.
Значение
Свойство unloadEventStart может иметь следующие значения:
DOMHighResTimeStampпредставляющий время непосредственно перед запуском обработчика событияunloadтекущего документа.-
0если нет предыдущего документа. -
0если предыдущая страница была на другом источнике.
Примеры
Измерение времени обработки обработчика события unload
Свойство unloadEventStart может использоваться для измерения времени обработки обработчика события unload.
Это полезно для измерения времени работы длительных обработчиков события unload.
window.addEventListener("unload", (event) => {
// Some long running code
});
Пример использования PerformanceObserver, который оповещает о новых записях производительности navigation, как только они записываются в временной шкале производительности браузера. Используйте опцию buffered для доступа к записям, имевшимся до создания наблюдателя.
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 });
Пример использования Performance.getEntriesByType(), который показывает только записи производительности navigation , присутствующие в временной шкале производительности браузера в момент вызова этого метода:
const entries = performance.getEntriesByType("navigation");
entries.forEach((entry) => {
const loadEventTime = entry.unloadEventEnd - entry.unloadEventStart;
if (unloadEventTime > 0) {
console.log(`${entry.name}:
load event handler time: ${unloadEventTime}ms`);
}
});
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
unloadEventStart |
57 | 12 | 58 | 44 | 15 | 57 | 58 | 43 | 15.1 | 7.0 | 57 |
См. также
-
unloadсобытие
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming/unloadEventStart