Browser-Schließereignis erkennen
Sind Sie auf Schwierigkeiten bei der Erkennung von Browser-Schließereignissen mit herkömmlichen Methoden gestoßen? Machen Sie sich keine Sorgen, denn dieser detaillierte Leitfaden bietet umfassende Lösungen, die Ihnen bei der Überwachung von Fensterschließungen, Entladungen oder Ereignissen vor dem Entladen helfen.
解决方案
Das folgende Code-Snippet geht auf geniale Weise an das Problem:
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; }); });
Diese Lösung beinhaltet das onbeforeunload-Ereignis Handler, der ausgelöst wird, bevor das Browserfenster geschlossen wird. Die Nachrichtenvariable zeigt eine benutzerdefinierte Eingabeaufforderung an, die den Benutzer dazu auffordert, Daten zu speichern, bevor er die Seite verlässt.
Bemerkenswert ist, dass eine Hilfsfunktion enthalten ist, um zu verhindern, dass die Eingabeaufforderung angezeigt wird, wenn auf bestimmte Elemente auf der Seite geklickt wird (in diesem Fall die #lnkLogOut- und .btn-Elemente).
Firefox-Kompatibilitätsüberlegungen
Während dieser Code im Allgemeinen funktioniert In anderen Browsern ist zu beachten, dass Firefox die benutzerdefinierte Eingabeaufforderung möglicherweise nicht anzeigt. In solchen Fällen müssen möglicherweise alternative Methoden in Betracht gezogen werden, wie im verlinkten Thread erläutert.
Das obige ist der detaillierte Inhalt vonWie kann ich Browser-Schließereignisse zuverlässig erkennen und mit nicht gespeicherten Daten umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!