history.go(+1) oder history.forward() in if-Abfrage einbeziehen
striezel
- javascript
Hallo, Forum!
Wie ist es möglich, abzufragen, ob man über die "zurück-Taste" des Browsers auf die Seite gekommen ist. Ich habe nämlich vor, in obengenanntem Fall durch location.replace die Adresse der folgenden, bzw letzten Seite zu ersetzen. Dadurch will ich verhindern, dass man alte Eingaben von vorhergehenden Benutzern, die meine Seite besucht haben, sehen kann.
mfg striezel
Hallo, Forum!
Wie ist es möglich, abzufragen, ob man über die "zurück-Taste" des Browsers auf die Seite gekommen ist. Ich habe nämlich vor, in obengenanntem Fall durch location.replace die Adresse der folgenden, bzw letzten Seite zu ersetzen. Dadurch will ich verhindern, dass man alte Eingaben von vorhergehenden Benutzern, die meine Seite besucht haben, sehen kann.
mfg striezel
ganz verstanden habe ich Deine frage nicht, aber du könntest ja mit
document.Formname.reset(); im onload
das form löschen.
Gruß Burkhard
Hi, Burkhard
Danke für die schnelle Antwort.
Ist auch ne Möglichkeit. Allerdings habe ich schon mal ne Seite entdeckt (URL weiss ich nicht mehr), bei der es nicht möglich war, per zurück-Button auf die Seite zurückzukehren. Das wäre mir noch lieber. Ich will nämlich nicht, dass auch nur irgendwelche Fetzen von Daten lesbar sind. Sprich: wenn ich nicht mehr zurückkomme, dann kann ich auch nichts mehr lesen ;-)
Gruß striezel
Hi, Burkhard
Danke für die schnelle Antwort.
Ist auch ne Möglichkeit. Allerdings habe ich schon mal ne Seite entdeckt (URL weiss ich nicht mehr), bei der es nicht möglich war, per zurück-Button auf die Seite zurückzukehren. Das wäre mir noch lieber. Ich will nämlich nicht, dass auch nur irgendwelche Fetzen von Daten lesbar sind. Sprich: wenn ich nicht mehr zurückkomme, dann kann ich auch nichts mehr lesen ;-)
Gruß striezel
Okay dann vielleicht so:
if (document.referrer == document.referrer.indexOf("http://www.DeineDomain.de/DeineZweiteSeite.htm")==-1 )
window.location ="FormSeite.htm";
else{
window.location= "AnderSeite.htm";
Will sagen: wenn ich nicht von der zweiten seite komme, dann geht zum form sonst zu einer anderSeite.
Sollte so functionieren
Der referrer ist aber etwas umstritten da er z.b im Explorer 4 auf dem Mac und auch nochj anderen Browser nicht klappert.
Allerdings habe ich auf dem PC mit IE und NS keine Probleme entdenken können.
Gruß burkhard
Super!
Noch ein paar Anpassungen und es funzzt :-).
Danke!
striezel
Hallo, Forum!
Wie ist es möglich, abzufragen, ob man über die "zurück-Taste" des Browsers auf die Seite gekommen ist. Ich habe nämlich vor, in obengenanntem Fall durch location.replace die Adresse der folgenden, bzw letzten Seite zu ersetzen. Dadurch will ich verhindern, dass man alte Eingaben von vorhergehenden Benutzern, die meine Seite besucht haben, sehen kann.
Dein Vorhaben wird in ECHTEN Browsern scheitern.
Die Zurück-Taste im Browser ist eine History-Funktion (genau wie die Vorwärts-Taste). Das bedeutet: Der User kommt zu den Seiten zurück, die er schon besucht hat, und sieht sie in dem Zustand, wie er sie verlassen hat.
Dieses Verhalten ist so in irgendeiner RFC, deren Nummer ich gerade vergessen habe, vorgeschrieben.
Opera hält sich an die RFC. Da hast du keinerlei Chance, eingegebene Texte in Formularen verschwinden zu lassen. Ich würde sogar vermuten, daß auch "onload" bei einer Zurück-Aktion nicht ausgelöst wird, also wird "onload" Formularlöschen auch nicht funktionieren.
Andere Browser sind in diesem Punkt nicht standardkonform. Die fragen bei "zurück" immer beim Server nach, ob die Seite noch aktuell ist. Deshalb _kann_ es bei manchen Browsern funktionieren, das Gültigkeitsdatum in die Vergangenheit zu legen und mit allen möglichen Meta- und Headerinformationen Caching zu verhindern. Aber wie gesagt: Das funktionier bei "Zurück" nicht zuverlässig - würden sich alle Browser an den Standard halten (womit irgendwann mal zu rechnen ist), dann würde es garnicht funktionieren.
Wenn irgendwelche Restdaten nicht zu sehen sein sollen, bleibt nur, das Browserfenster zu schließen und dadurch die History zu löschen. Insofern ist self.close() die einzige Möglichkeit, das zu erreichen, was du willst - wenn der Surfer dann noch die Sicherheitsabfrage bestätigt (die sich NICHT unterdrücken läßt), dann hast du dein Ziel erreicht.
PS: Es war mir schon manchesmal sehr hilfreich, ein umfangreich ausgefülltes Formular durch die "Zurück"-Taste wieder zu retten, weil der Server irgendwelchen Mist gebaut hat, die Verbindung nicht funktionierte oder sonstiges.
- Sven Rautenberg
Hallo!
Zunächst erstmal danke für Deinen Beitrag.
Du meinst also, dass es am Besten ist (wenn überhaupt), dass
man per javascript ein neues Fenster öffnet und nach Gebrauch
wieder schließt. Wäre auch 'ne Möglichkeit. Ich will halt, dass
man keine persönlichen Daten sehen kann, die der Vorgänger ein-
gegeben hat. Irgendwas habe ich mal gehört, dass es auch möglich
ist, dass man keine temporären Daten ablegt - kann aber auch eine
Ente sein.
mfg striezel
Hallo!
Zunächst erstmal danke für Deinen Beitrag.
Du meinst also, dass es am Besten ist (wenn überhaupt), dass
man per javascript ein neues Fenster öffnet und nach Gebrauch
wieder schließt.
Von einem neuen Fenster habe ich nicht gesprochen, ich würde nur das benutzte Fenster schließen wollen.
Wäre auch 'ne Möglichkeit. Ich will halt, dass
man keine persönlichen Daten sehen kann, die der Vorgänger ein-
gegeben hat. Irgendwas habe ich mal gehört, dass es auch möglich
ist, dass man keine temporären Daten ablegt - kann aber auch eine
Ente sein.
History ist per Definition immer das, was man zuletzt sah - inklusiver eingegebener Daten. Die empfangenen Seiten liegen zu allem Überfluß auch noch im Cache rum. Wenn du also Sicherheit haben willst, setze am besten SSL ein, dann kann keiner unbefugt mitlesen. Aber so ein Server ist leider nicht in den Billig-Angeboten der üblichen Provider mit drin, sondern kostet extra.
Und ich würde sagen, da ist ein self.close() doch wesentlich kostengünstiger. :)
- Sven Rautenberg