PerformanceNavigationTiming : propriété unloadEventStart
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 unloadEventStart retourne un objet DOMHighResTimeStamp représentant le temps immédiatement avant que le gestionnaire d'évènements unload du document précédent ne commence.
Valeur
La propriété unloadEventStart peut avoir les valeurs suivantes :
- Un objet
DOMHighResTimeStampreprésentant le temps immédiatement avant que le gestionnaire d'évènementsunloaddu document précédent ne démarre. 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é unloadEventStart 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-unloadeventstart> |
Compatibilité des navigateurs
Voir aussi
- L'évènement
unload