Ich spreche von einem gestylten Dialogfeld anstelle des Standarddialogs 'beforeunload', der nicht gestylt werden kann.
Siehe Facebook:
Was ist der unauffälligste Weg dies zu machen? Bevorzugen ein Skript, das ich einmal deklariere, und magisch immer funktioniert.
Ich denke über etwas in der Zeile:
nach %Vor% Aber ich fürchte, das wird Fälle brechen, in denen ein <a>
-Element zum Auslösen von JS-Verhalten verwendet wird oder wo JavaScript eine Änderung von window.location.href auslöst.
Gibt es einen besseren, unaufdringlichen Weg?
Zusätzliche Notiz - Sie haben es auch für den Zurück-Knopf funktioniert.
Zusätzliche Notiz - Offensichtlich fallen sie in den Standarddialog zurück, wenn sie nicht in ihrer Kontrolle sind.
Ich denke, das Hauptproblem ist, dass Sie nicht jede Änderung im DOM vorhersagen können, so dass Sie einfach mit jedem Mousemove-Event (Touch-Event für Smartphones etc.) wie folgt updaten können:
%Vor%Tags und Links javascript jquery onbeforeunload onunload