Maison >interface Web >js tutoriel >Comment puis-je empêcher les utilisateurs de quitter une page sans confirmation en JavaScript ?

Comment puis-je empêcher les utilisateurs de quitter une page sans confirmation en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-13 03:23:02438parcourir

How Can I Prevent Users from Leaving a Page Without Confirmation in JavaScript?

Empêcher la sortie d'une page sans confirmation en JavaScript

Pour empêcher les utilisateurs de quitter une page sans confirmation, l'événement onbeforeunload constitue une solution efficace. À l'aide de cet événement, vous pouvez afficher une invite à l'utilisateur, lui demandant s'il souhaite vraiment quitter la page.

Mise en œuvre :

window.onbeforeunload = function() {
  return 'Are you sure you want to leave?';
};

Alternativement, vous pouvez utilisez jQuery pour cela tâche :

$(window).bind('beforeunload', function() {
  return 'Are you sure you want to leave?';
});

Considérations :

  • L'événement onbeforeunload affiche uniquement une invite ; il ne peut pas rediriger les utilisateurs vers une autre page.
  • Chrome 14 et supérieur bloque les alertes dans l'événement onunload. Par conséquent, pour afficher un message avant le déchargement de la page, utilisez plutôt onbeforeunload.

Options supplémentaires :

Si votre objectif est de rediriger les utilisateurs en fonction de leur réponse à l'invite de confirmation, vous pouvez utiliser d'autres méthodes, telles que :

1. Hachage d'URL :

Ajoutez un hachage (par exemple, #leaving) à l'URL lorsque l'invite de confirmation s'affiche. Si l'utilisateur sélectionne « Oui », supprimez le hachage et redirigez vers la page souhaitée.

2. Stockage local :

Stockez une valeur dans le stockage local indiquant que l'utilisateur souhaite partir. Lorsque l'utilisateur confirme son intention, supprimez la valeur stockée et redirigez-la.

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