Ich habe ein Problem mit einer Aufgabenverwaltungsanwendung, bei der es vorkommt, dass Benutzer ihre Browser/Tabs schließen und die von ihnen eingegebenen Informationen verloren gehen, weil sie versehentlich einen Browser/Tab schließen, was zum Verlust des eingegebenen Textes führt (und einige können eine halbe Stunde mit der Eingabe von Text verbringen).
Also muss ich eine Lösung anbieten, ich habe ein paar Ideen, wollte aber wissen, welche die beste ist, oder wenn Sie eine bessere Lösung haben, lassen Sie es mich wissen.
Option 1:
- Auf der
window.onunload
oder möglicherweisewindow.onbeforeunload
Ereignis einen confirm()-Dialog aufrufen und zunächst testen, ob der Aufgabenprotokollbereich Text enthält und nicht leer ist. Wenn er nicht leer ist, rufen Siewindow.confirm()
und fragen, ob der Benutzer die Registerkarte/das Fenster schließen möchte, ohne ein Protokoll zu speichern.
Bei Option 1 habe ich die Befürchtung, dass sie für den Benutzer zu aufdringlich sein könnte.
Option 2:
- Rufen Sie bei demselben Ereignis kein confirm() auf, sondern speichern Sie stattdessen den Text im Aufgabenprotokollbereich zwangsweise in einem Cookie. Bieten Sie dann möglicherweise eine Schaltfläche an, die versucht, gespeicherte Aufgabeninformationen aus dem Cookie auf derselben Seite wiederherzustellen, so dass ein Klick auf diese Schaltfläche die Cookies analysiert und die Informationen abruft.
0 Stimmen
Was bedeutet "aufdringlich"?
0 Stimmen
Nun, Sie wissen ja, wie lästig Benachrichtigungs- und Bestätigungsfenster sind, aber dies könnte die einzige Ausnahme von dieser Regel sein? Ich weiß es nicht.
0 Stimmen
Wenn sie die Dinge "richtig" machen, gibt es keinen Dialog, richtig? Wenn sie etwas eintippen, vergessen zu speichern und ihre Arbeit verlieren, ist das schlecht, richtig? Was ist falsch daran, sie zu fragen, ob sie ungespeicherte Änderungen behalten oder ignorieren wollen?