PerformanceNavigationTiming : propriété unloadEventEnd
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis octobre 2021.
La propriété en lecture seule unloadEventEnd retourne un objet DOMHighResTimeStamp représentant le temps immédiatement après que le gestionnaire d'évènements unload du document précédent se termine.
Valeur
La propriété unloadEventEnd peut avoir les valeurs suivantes :
- Un objet
DOMHighResTimeStampreprésentant le temps immédiatement après que le gestionnaire d'évènementsunloaddu document précédent se termine. 0s'il n'y a pas de document précédent.0si la page précédente était sur une autre origine.
Exemples
>Mesurer le temps d'exécution du gestionnaire d'évènements unload
La propriété unloadEventEnd peut être utilisée pour mesurer combien de temps il faut pour traiter le gestionnaire d'évènements unload.
Cela est utile pour mesurer le temps d'exécution des gestionnaires d'évènements unload de longue durée.
window.addEventListener("unload", (event) => {
// Du code de longue durée
});
Exemple utilisant un PerformanceObserver, qui notifie des nouvelles entrées de performance navigation au fur et à mesure qu'elles sont enregistrées dans la timeline de performance du navigateur. Utilisez l'option buffered pour accéder aux entrées avant la création de l'observateur.
const observateur = new PerformanceObserver((list) => {
list.getEntries().forEach((entree) => {
const tempsEventUnload = entree.unloadEventEnd - entree.unloadEventStart;
if (tempsEventUnload > 0) {
console.log(
`${entree.name} :
temps d'exécution du gestionnaire d'évènements unload :
${tempsEventUnload}ms`,
);
}
});
});
observateur.observe({ type: "navigation", buffered: true });
Exemple utilisant Performance.getEntriesByType(), qui ne montre que les entrées de performance navigation présentes dans la timeline de performance du navigateur au moment où vous appelez cette méthode :
const entrees = performance.getEntriesByType("navigation");
entrees.forEach((entree) => {
const tempsEventUnload = entree.unloadEventEnd - entree.unloadEventStart;
if (tempsEventUnload > 0) {
console.log(`${entree.name} :
temps d'exécution du gestionnaire d'évènements unload :
${tempsEventUnload}ms`);
}
});
Spécifications
| Specification |
|---|
| Navigation Timing Level 2> # dom-performancenavigationtiming-unloadeventend> |
Compatibilité des navigateurs
Voir aussi
- L'évènement
unload