Hier mal ein konkretes Problem, das nix mit Spielereien zu tun hat:
Für eine neue Hardware (inkl. eingebauten Webserver) wird ein Web-Interface, bestehend aus mehreren Seiten, gebaut, über das sich die Hardware konfigurieren lässt. Teil dieser Konfiguration ist unter anderem die kontrollierte Modifikation eines Shell-Skripts. Kontrollierte Modifikation heißt dabei, dass sich der Anwender sein Shell-Skript sozusagen zusammen klicken kann. Er kann auf diese Weise keinen Unfug anstellen.
Die Änderungen, die er macht, sie erstmal nur temporär. Mit Save kann er seine Änderungen dann speichern. Verlässt er aber vorher die Seite, weil er auf eine andere Seite des Web-Interfaces will, dann sollte der Hinweis erscheinen, dass beim Verlassen der Seite seine Änderungen flöten gehen. Das habe ich im onUnload-Handler mit confirm erledigt. Mit history.go(0) sorge ich dafür, dass die aktuelle Seite neu geladen wird. Dummerweise wird dann aber auch onLoad ausgeführt, was unangenehme folgen hat, da dort Dinge geschehen, die für genau diesen Fall nicht geschehen dürfen.
Mein Wunsch ist es also, im unUnload-Handler zu verhindern, dass die Seite wirklich entladen wird, da somit auch das Neuladen entfällt und ich keine Probleme mit meinem onLoad-Handler bekomme.
Gibt's dafür 'ne elegante Lösung? Oder ist das evtl. mit Setzen von Flags in Hidden Fields möglich (d.h. im onUnload setze ich ein Flag, dass ich im onLoad dann abfrage)?