Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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 DOMHighResTimeStamp représentant le temps immédiatement après que le gestionnaire d'évènements unload du document précédent se termine.
  • 0 s'il n'y a pas de document précédent.
  • 0 si 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.

js
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.

js
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 :

js
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