history back deaktivieren
Ernesto Zeisig
- javascript
Hallo,
gibt es einen Befehl, womit ich das Zurückspringen verhindern kann??
Ernesto
Hallo Ernesto,
gibt es einen Befehl, womit ich das Zurückspringen verhindern kann??
Indem du jeden Link in dieser Form notierst:
<a href="javascript:location.replace('datei2.htm')">Datei 2</a>
Siehe auch:
http://selfhtml.teamone.de/javascript/objekte/location.htm#replace
viele Gruesse
Stefan Muenz
Hallo zusammen,
ich muss diesen Befehl auch nutzen, daher interessiert mich, ob er auch im N6 und Opera funzt und ob er deaktivierbar ist (z.B. kein Java installiert ...)
Greetings
Torwächter
ich muss diesen Befehl auch nutzen, daher interessiert mich, ob er auch im N6 und Opera funzt und ob er deaktivierbar ist (z.B. kein Java installiert ...)
Deaktivierbar ist er. Zwar nicht mit Java, aber mit JavaScript. Dann klappt das natürlich nicht.
Aber es gibt auch einge gute Nachricht: Das funktioniert auch unter N6 und Opera (zumindest bei mir)
Hallo Stefan,
das scheint aber leider nicht mit Textankern zu funktionieren - oder habe ich etwas nicht beachtet??
<a href="javascript:location.replace('#k2')">[weiter]</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<a name="k2">Test
Hallo Ernesto,
gibt es einen Befehl, womit ich das Zurückspringen verhindern kann??
Indem du jeden Link in dieser Form notierst:
<a href="javascript:location.replace('datei2.htm')">Datei 2</a>
Siehe auch:
http://selfhtml.teamone.de/javascript/objekte/location.htm#replace
viele Gruesse
Stefan Muenz
Hallo alle,
gibt es einen Befehl, womit ich das Zurückspringen verhindern kann??
Indem du jeden Link in dieser Form notierst:
<a href="javascript:location.replace('datei2.htm')">Datei 2</a>
Siehe auch:
http://selfhtml.teamone.de/javascript/objekte/location.htm#replace
Aber im Verlauf vom M$IE ist r noch drin und funktioniert auch. Ist jetzt wieder Philosophie, ob das einer schnallt.
Gruß
Tom
Moin!
gibt es einen Befehl, womit ich das Zurückspringen verhindern kann??
Was willst du damit erreichen? Was willst du überhaupt tun?
Es gibt gute Gründe, diese Browserfunktion "zurück" _nicht_ zu beeinflussen. Sofern du uns erklärst, vor welchem Problem du stehst, kann jemand vielleicht noch eine andere Lösung finden, die den Besucher nicht einschränkt, und die trotzdem toll funktioniert.
- Sven Rautenberg
Also,
wie ich weiter unten schon gepostet hatte, erstelle ich gerade einen Fragebogen.
Aufgrund der verwendeten Analysemethode würde es sich negativ auf die Ergebnisse auswirken, wenn die Versuchspersonen zur vorherigen Frage zurückspringen könnten...
Der Fragebogen besteht aus einer Seite - navigiert werden soll also nur über Textanker....
Ernesto
Moin!
gibt es einen Befehl, womit ich das Zurückspringen verhindern kann??
Was willst du damit erreichen? Was willst du überhaupt tun?
Es gibt gute Gründe, diese Browserfunktion "zurück" _nicht_ zu beeinflussen. Sofern du uns erklärst, vor welchem Problem du stehst, kann jemand vielleicht noch eine andere Lösung finden, die den Besucher nicht einschränkt, und die trotzdem toll funktioniert.
- Sven Rautenberg
Moin!
wie ich weiter unten schon gepostet hatte, erstelle ich gerade einen Fragebogen.
Aufgrund der verwendeten Analysemethode würde es sich negativ auf die Ergebnisse auswirken, wenn die Versuchspersonen zur vorherigen Frage zurückspringen könnten...
Der Fragebogen besteht aus einer Seite - navigiert werden soll also nur über Textanker....
Wenn der Benutzer erstmal entdeckt, wozu die Cursortasten oder das Mausrad da sind, ist dein "Zurück-Verhindern" ohnehin witzlos geworden. Natürlich könntest du, wenn du definierte Bedingungen garantieren kannst, also beispielsweise dem Befragten einen extra dafür vorgesehenen PC mit extra installiertem Browser hinstellst, gewisse Dinge ausschließen. Im IE beispielsweise lassen sich Frames, bei denen das Scrolling abgeschaltet ist, nicht scrollen.
Wenn der Fragebogen sich aber im Internet befindet, dann ist dein Versuch, das Zurückgehen zu verhindern, einfach unmöglich zu erfüllen. Dafür brauchst du mindestens mal mehrere Seiten (offenbar je Frage eine Seite), und außerdem gewisse server- oder clientseitige Techniken, um immer ans Ende der History zu spulen.
<body onload="history.forward()"> oder so ähnlich würde sich vielleicht anbieten.
- Sven Rautenberg
Hallo!
Aufgrund der verwendeten Analysemethode würde es sich negativ auf die Ergebnisse auswirken, wenn die Versuchspersonen zur vorherigen Frage zurückspringen könnten...
Der Fragebogen besteht aus einer Seite - navigiert werden soll also nur über Textanker....
Wenn der Besucher nicht zurückspringen können soll, dann macht Ihr alles auf eine html-Seite? Komische Lösung!
Wenn der Benutzer erstmal entdeckt, wozu die Cursortasten oder das Mausrad da sind, ist dein "Zurück-Verhindern" ohnehin witzlos geworden. Natürlich könntest du, wenn du definierte Bedingungen garantieren kannst, also beispielsweise dem Befragten einen extra dafür vorgesehenen PC mit extra installiertem Browser hinstellst, gewisse Dinge ausschließen. Im IE beispielsweise lassen sich Frames, bei denen das Scrolling abgeschaltet ist, nicht scrollen.
ne Idee...
Wenn der Fragebogen sich aber im Internet befindet, dann ist dein Versuch, das Zurückgehen zu verhindern, einfach unmöglich zu erfüllen. Dafür brauchst du mindestens mal mehrere Seiten (offenbar je Frage eine Seite), und außerdem gewisse server- oder clientseitige Techniken, um immer ans Ende der History zu spulen.
Sicher könnte man es nicht auschließen, aber ich denke, das sich keiner wegen so eines Fragebogens die Mühe macht, irgendwie im Quellcode rumzusuchen, wie der doch zurück gelangt, oder?
<body onload="history.forward()"> oder so ähnlich würde sich vielleicht anbieten.
Ich würde einen ganz anderen Ansatz wählen, und zwar ein popup öffnen, in denen die Navigationsschaltflächen schilcht nicht angezeigt werden, und dann könntet Du das sogar mit Ankern machen, da Du auch Scrollleisten auschließen kannst. ich weiß auch das man das umgehen kann, aber wenn Du jetzt nicht gerade bei heise.de nen Fragebogu zu "Ist Linux besser als Windows" machst, denke ich das das kein Problem darstellen sollte!
Viele Grüße
Andreas
Yo!
<body onload="history.forward()"> oder so ähnlich würde sich vielleicht anbieten.
Ich würde einen ganz anderen Ansatz wählen, und zwar ein popup öffnen, in denen die Navigationsschaltflächen schilcht nicht angezeigt werden, und dann könntet Du das sogar mit Ankern machen, da Du auch Scrollleisten auschließen kannst. ich weiß auch das man das umgehen kann, aber wenn Du jetzt nicht gerade bei heise.de nen Fragebogu zu "Ist Linux besser als Windows" machst, denke ich das das kein Problem darstellen sollte!
Ich sage nur: Scroll-Rad, Cursortasten, Mausmenüs auf der Mittleren Taste, Backspace-Taste und Opera. Eine beliebige Kombination dieser Dinge ist unüberwindlich.
Wenn die Menütasten fehlen, funktioniert eben Backspace als Tastatureingabe. Oder die Mausgestik in Opera. Oder man hat auf der mittleren Maustaste irgendein tolles "Webmenü", womit man zurückgehen kann. Auch wenn man nicht scrollen darf: Opera erlaubt scrollen immer.
Du siehst also: Nur wenn man die Betrachtungsumgebung definieren kann (IE zwingend vorgeschrieben, Maus ohne Scrollrad, keine Extramenüs, keine Backspace-Taste vorhanden, etc.), dann kann man mit gewissen Fenster-Einstellungen etwas erreichen. Solche Randbedingungen wurden aber nicht erwähnt, also müssen wir von der Aufgabenstellung "im Internet" ausgehen. Und da funktioniert sowas eben nicht.
- Sven Rautenberg
Aha,
danke für die umfangreiche Erläuterung ... die Befragung wird online durchgeführt.
Also wird es wohl am besten sein tatsächlich nach jeder Frage eine neue Seite zu laden.
Vielen Dank
Ernesto
gibt es einen Befehl, womit ich das Zurückspringen verhindern kann??
Hallo Ernesto,
jein es gibt eine Möglichkeit, die das erledigt, was Du erreichen willst.
1:
Server-Lösung. Du musst der Seite ein expires=0 mitgeben, sodass sie jedes Mal neu vom Server geladen werden muss. Auf dem Server liegt aber nur EIN Script (ich bevorzuge da PHP), dass über die Steuerung immer nur die noch nicht beantworten Fragen herausgibt. Die Fragen werden in einer Textarea übergeben.
Beim Verlassen der Seite wird die Textarea durch ein JavaScript gelöscht.
Bei M$IE kannst Du auch Tabellen nutzen und die Texte dort nachträglich manipulieren. Das geht im NS-Browser nicht.
Textfelder und Textareas lassen sich aber in beiden Browsern seit (???) mit Javascript manipulieren.
Wichtig ist eben, dass der Befragte bei einem Reload der Seite die Frage nicht mehr bekommt.
Wenn Du keine cookies setzen willst, dann musst DU gibt es auch noch ein nettes Workaround. Frag einfach. Ich denke aber, wer JavaScript eingeschaltet hat, hat auch keine Angst vor Cookies mehr.
2:
Die zweite Möglichkeit habe ich selbst noch nicht ausprobiert. Aber theoretisch funktioniert die auch.
Du lädst alle Fragen gleich beim ersten Aufruf in hidden-Variablen.
Dann kannst Du über eine Java-Script-Steuerung jeweils ein neues Fenster öffnen, in das Du die aktuelle Frage sichtbar überträgst. Um zur nächsten Frage zu kommen, überschreibst Du das Fenster einfach mit neuen Werten.
In DHTML-Fenstern gibt es keine History, oder???
Eine Variante hiervon geht natürlich auch mit Server-Backend.
Sag mal bitte Bescheid, auch wenn es klappt...
Gruß
Tom
Nachtrag
Hallo Ernesto,
Du kannst natürlich auch noch eine crypt-Funktion und eine encrypt-Funktion dazu schreiben. Dann kann auch keiner mehr die Fragen verstehen, wenn er sich den Quellcode ansieht. Und ob nun jemand die ganzen JavaScript-Funktionen analysiert, nur um dich zu ärgern, das bezweifele ich.
Viel Spaß
Tom