Sven Rautenberg: onbeforeunload mit Ajax

Beitrag lesen

Moin!

Folgender Sachverhalt:
Beim verlassen der Seite sollen verschiedene Einstellungen des Users über Ajax in eine Datenbank geschrieben werden. Als event verwende ich onunload und onbeforeunload.

Ganz schlechte Idee eigentlich.

Speichere die Daten in dem Moment, wo sie vom User eingegeben bzw. geändert werden, nicht irgendwann später. Dazu ist AJAX gut geeignet, und du bist zu 99,9% sicher, dass dir keine Daten verloren gehen. Wenn du wartest, bis die Seite "verlassen" wird, gehen dir potentiell deutlich mehr Daten verloren, weil Browser, Betriebssysteme oder Internetleitungen auch einfach mal sang- und klanglos abstürzen oder unverfügbar werden können.

Mit zeitnaher Speicherung hast du drei Fliegen mit einer Klappe geschlagen: 1. Kannst du dem User für den Fall, dass das Speichern gescheitert ist, direkt eine Rückmeldung dazu geben, 2. hast du die aktuellstmöglichen Daten gespeichert und 3. mußt du dich nicht mit den sehr fragwürdigen Eventhandlern "onunload" bzw. (gibts sowieso nur im IE) "onbeforeunload" herumschlagen und mit diese unsinnigen Nachfragen den User nerven.

- Sven Rautenberg

--
"Love your nation - respect the others."