Heim >Web-Frontend >js-Tutorial >Wie kann ich Browser-Schließereignisse in JavaScript zuverlässig erkennen?

Wie kann ich Browser-Schließereignisse in JavaScript zuverlässig erkennen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-03 04:05:09842Durchsuche

How Can I Reliably Detect Browser Close Events in JavaScript?

So gehen Sie mit Browser-Schließereignissen effektiv um

Das Erkennen von Browser-Schließereignissen kann eine Herausforderung sein, insbesondere wenn Methoden wie onbeforeunload und onunload von jQuery nicht immer verfügbar sind zuverlässig. Dieser Artikel bietet eine Lösung zum effektiven Erkennen von Fensterschließ-, Entlade- oder Before-Unload-Ereignissen.

Lösung:

Der folgende JavaScript-Code kann zum Erkennen von Browser-Schließereignissen verwendet werden:

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

Optionale Implementierung:

Die zweite Funktion im Code ist optional. Es verhindert, dass die Eingabeaufforderung angezeigt wird, wenn auf bestimmte Elemente wie #lnkLogOut und .btn geklickt wird.

Hinweis:

Es ist wichtig zu beachten, dass benutzerdefinierte Eingabeaufforderungen möglicherweise nicht angezeigt werden Arbeit in Firefox. Weitere Informationen finden Sie in [diesem Thread] (Link zum Thread).

Das obige ist der detaillierte Inhalt vonWie kann ich Browser-Schließereignisse in JavaScript zuverlässig erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn