Maison >interface Web >js tutoriel >Comment puis-je détecter de manière fiable les événements de fermeture du navigateur en JavaScript ?

Comment puis-je détecter de manière fiable les événements de fermeture du navigateur en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-03 04:05:09842parcourir

How Can I Reliably Detect Browser Close Events in JavaScript?

Comment gérer efficacement les événements de fermeture du navigateur

La détection des événements de fermeture du navigateur peut être difficile, en particulier avec des méthodes comme onbeforeunload et onunload de jQuery qui ne sont pas toujours fiable. Cet article fournit une solution pour détecter efficacement les événements de fermeture, de déchargement ou d'avant-chargement de fenêtre.

Solution :

Le code JavaScript suivant peut être utilisé pour détecter les événements de fermeture du navigateur :

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;
});
});

Implémentation facultative :

La deuxième fonction du code est facultatif. Cela empêche l'affichage de l'invite lorsque vous cliquez sur des éléments spécifiques, tels que #lnkLogOut et .btn.

Remarque :

Il est important de savoir que les invites personnalisées peuvent ne pas travailler dans Firefox. Reportez-vous à [ce fil](lien vers le fil) pour plus d'informations.

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