Maison > interface Web > js tutoriel > Comment gérer les événements de fermeture de fenêtre et d'actualisation de page de manière discrète ?

Comment gérer les événements de fermeture de fenêtre et d'actualisation de page de manière discrète ?

Mary-Kate Olsen
Libérer: 2024-11-28 08:41:11
original
936 Les gens l'ont consulté

How to Handle Window Closure and Page Refresh Events Unobtrusively?

Fermeture discrète de la fenêtre et gestion des événements d'actualisation de page

Pour exécuter du code lors de la fermeture d'une fenêtre de navigateur ou de l'actualisation d'une page, un peut utiliser les écouteurs d'événements window.onbeforeunload et window.onunload. Selon le navigateur, ces auditeurs sont invoqués différemment.

La syntaxe d'attribution de ces auditeurs est soit de les affecter directement aux propriétés de la fenêtre :

window.onbeforeunload = function(){
  // Code to execute on window closure or page refresh
};
Copier après la connexion

Soit via la méthode addEventListener :

window.addEventListener("beforeunload", function(e){
  // Code to execute on window closure or page refresh
});
Copier après la connexion

Par défaut, l'écouteur onbeforeunload est généralement utilisé pour empêcher les utilisateurs de quitter brusquement une page, surtout si des données non enregistrées sont présentes. Cependant, en omettant une chaîne de retour ou en définissant e.returnValue sur falsy, le code peut être déclenché sans afficher de boîte de dialogue de confirmation.

Il est à noter que l'événement beforeunload peut ne pas fonctionner dans les iframes lorsqu'il est supprimé par son parent. Cependant, les événements unload et pagehide sont efficaces dans ce scénario dans Chrome. Firefox, en revanche, présente un bug qui empêche ces événements de se déclencher lorsqu'une iframe est supprimée par son parent.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal