Maison > interface Web > js tutoriel > le corps du texte

Comment puis-je détecter de manière fiable les événements de fermeture du navigateur et gérer les données non enregistrées ?

DDD
Libérer: 2024-11-26 17:18:16
original
860 Les gens l'ont consulté

How Can I Reliably Detect Browser Close Events and Handle Unsaved Data?

Détection des événements de fermeture du navigateur

Vous rencontrez des difficultés pour détecter les événements de fermeture du navigateur avec les méthodes habituelles ? Ne vous inquiétez pas, car ce guide détaillé fournira des solutions complètes pour vous aider à surveiller les événements de fermeture de fenêtre, de déchargement ou avant le déchargement.

解决方案

L'extrait de code suivant répond ingénieusement le problème :

window.onbeforeunload = function (event) {
  var message = 'Important: Please click on \'Save\' button to leave this page.';
  if (typeof event == 'undefined') {
    event = window.event;
  }
  if (event) {
    event.returnValue = message;
  }
  return message;
};

$(function () {
  $("a").not('#lnkLogOut').click(function () {
    window.onbeforeunload = null;
  });
  $(".btn").click(function () {
    window.onbeforeunload = null;
  });
});
Copier après la connexion

Cette solution intègre l'événement onbeforeunload gestionnaire, qui est déclenché avant la fermeture de la fenêtre du navigateur. La variable de message affiche une invite personnalisée, informant l'utilisateur de sauvegarder les données avant de quitter la page.

Notamment, une fonction auxiliaire est incluse pour empêcher l'invite d'apparaître lorsque vous cliquez sur des éléments spécifiques de la page (dans ce cas, les éléments #lnkLogOut et .btn).

Considération de compatibilité Firefox

Pendant ce temps le code fonctionne généralement dans d'autres navigateurs, il est important de noter que Firefox peut ne pas afficher l'invite personnalisée. Dans de tels cas, des méthodes alternatives devront peut-être être envisagées, comme indiqué dans le fil de discussion lié.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal