Heim > Web-Frontend > js-Tutorial > Wie kann ich Browser-Schließereignisse zuverlässig erkennen und mit nicht gespeicherten Daten umgehen?

Wie kann ich Browser-Schließereignisse zuverlässig erkennen und mit nicht gespeicherten Daten umgehen?

DDD
Freigeben: 2024-11-26 17:18:16
Original
918 Leute haben es durchsucht

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

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;
  });
});
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage