Maison >interface Web >js tutoriel >Comment exécuter du code JavaScript lorsqu'une fenêtre du navigateur se ferme ou s'actualise ?

Comment exécuter du code JavaScript lorsqu'une fenêtre du navigateur se ferme ou s'actualise ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-18 06:38:02868parcourir

How to Execute JavaScript Code When a Browser Window Closes or Refreshes?

Exécution de code JavaScript à la fermeture de la fenêtre ou à l'actualisation de la page

Lorsque vous travaillez avec des applications Web, il peut être crucial d'exécuter du code spécifique lorsqu'un utilisateur ferme la fenêtre du navigateur ou actualise la page. Cela vous permet d'effectuer des actions telles que l'enregistrement des données utilisateur, le déclenchement d'opérations de nettoyage ou le suivi de l'utilisation du site Web.

Options disponibles pour la fermeture de la fenêtre/l'exécution du code d'actualisation

Il existe deux écouteurs d'événements JavaScript principaux qui peuvent être utilisés à cet effet goal:

  • window.onbeforeunload: Cet événement est déclenché lorsque l'utilisateur tente de fermer la fenêtre ou l'onglet. Il invite l'utilisateur avec une boîte de dialogue de confirmation (par exemple, « Quitter la page ? » ou « Recharger ? »). Cependant, si aucune chaîne ou event.returnValue n'est renvoyée, le code s'exécutera sans afficher de message.
  • window.onunload : Cet événement est déclenché immédiatement avant la fermeture de la fenêtre ou de la page. est rafraîchi. Contrairement à onbeforeunload, il n'invite pas l'utilisateur avec une boîte de dialogue de confirmation.

Utilisation des écouteurs d'événements

Vous pouvez attribuer ces écouteurs d'événements aux propriétés de la fenêtre à l'aide de l'option syntaxe suivante :

window.onbeforeunload = function() {
  // Code to execute on window closure or refresh
};

// OR using addEventListener
window.addEventListener("beforeunload", function(e) {
  // Code to execute on window closure or refresh
});

Remarque pour Iframes

L'événement beforeunload ne fonctionne pas dans les iframes si l'iframe est supprimée par son parent. Cependant, les événements de déchargement et de pagehide fonctionnent dans ce scénario dans Chrome. Malheureusement, depuis août 2023, Firefox présente un bug empêchant ces événements de fonctionner pour les suppressions d'iframe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn