Sie benötigen einen Nicht-Leerwert aus der Callback-Funktion zurückkehren, da Sie sonst keine Nachricht Dialog sehen.
So müssen Sie zwei Dinge ändern:
<body onbeforeunload="return handleBrowserCloseButton();">
und
function handleBrowserCloseButton() {
return 'Browser close button clicked';
}
Außer, dass Sie window.addEventListener('beforeunload', ...)
stattdessen verwenden sollten.
MDN: WindowEventHandlers.onbeforeunload: Notes:
Wenn dieses Ereignis einen Nicht-Leerwert zurückgibt, wird der Benutzer aufgefordert, die Seite entladen zu bestätigen. In den meisten Browsern wird der Rückgabewert des Ereignisses in diesem Dialogfeld angezeigt. In Firefox 4 und höher wird die zurückgegebene Zeichenfolge dem Benutzer nicht angezeigt. Stattdessen zeigt Firefox die Zeichenfolge "Diese Seite fordert Sie auf, zu bestätigen, dass Sie gehen möchten - Daten, die Sie eingegeben haben, werden möglicherweise nicht gespeichert." Siehe Bug 588292.
Da sollte die Funktionalität Net missbräuchlich verwendet werden, um das Benutzerformular zu verhindern, dass die Seite zu verlassen, Funktionen wie alert
oder confirm
werden nicht funktionieren in dem onbeforeunload
Rückruf.
MDN: WindowEventHandlers.onbeforeunload: Notes:
Seit dem 25. Mai 2011, dass die HTML5-Spezifikation besagt, ruft window.alert()
, window.confirm()
und window.prompt()
Methoden können während dieses Ereignisses ignoriert werden. Weitere Informationen finden Sie in der HTML5-Spezifikation.
Dank. Ich habe tatsächlich versucht, Code auszuführen, um eine Datei zu schreiben. Ich konnte es zur Arbeit bringen. – Rob