Inhalt von javascript:history.back()
Alan Hathway
- javascript
Hallo Experten,
habe wenig Ahnung von Javascript. Habe folgendes von versch. Quellen zusammengebastelt:
(Es geht um Jugend Sportveranstaltungen - ich habe ein PC, womit Teilnehmer Information abrufen können)
Nach 5 Sekunden ohne Maus Bewegung wird automatisch zu eine andere Seite gesprungen:
<script language="JavaScript"><!--
function doit() {
timerRunning = false;
document.location.href="htmspiele.html#Teil2";
}
function microsoftMouseMove() {
if (window.event.x != document.test.x.value && window.event.y != document.test.y.value) {
if (timerRunning) {
clearTimeout(myTimer);
myTimer = setTimeout('doit()',5000);
}
document.test.x.value = window.event.x;
document.test.y.value = window.event.y;
}
}
var myTimer = setTimeout('doit()',5000); // invoke doit() after five seconds of mouse inactivity
var timerRunning = true;
//--></script>
sowie
<body onMousemove="microsoftMouseMove()">
sowie
<form name="test"><input type="hidden" name="x"><input type="hidden" name="y"></form>
Funktioniert wunderbar. Im Function doit gibt es der Befehl
document.location.href="htmspiele.html#Teil2";
D.h. er springt zu einem bestimmten Anker in einer bestimmten Datei.
Folgendes geht auch:
document.location.href="javascript:history.back();";
Dann geht er nach 5 Sekunden Maus-Inaktivität ‚zurück'.
Was ich mache möchte, aber nicht gebacken kriege, ist folgende Logik:
Wenn die letzte Seite htmspiel.html war, dann mach ein javascript:history.back(),
ansonsten sprung zu Anker #Teil2 in htmspiel.html
Anders ausgedruckt - wenn der Anwender von htmlspiele.html kam, dann möchte ich zurück AN DIE STELLE in htmspiele.html gehen, woher er kam (das macht javascript:history.back()) ansonsten zu #Teil2 in htmspiele.html
Folgendes geht nicht
function doit() {
timerRunning = false;
alan1="javascript:history.back();";
alan2 = alan1.indexOf("htmspiele.html");
if(alan2 = -1)
{
document.location.href="htmspiele.html#Teil2";
}
else
document.location.href="javascript:history.back();";
}
Weil in der variable alan1 nicht der Name der Seite wohin gegangen wird gespeichert ist, sondern die Zeichenkette "javascript:history.back();"
Wer hilft mir auf die Sprünge?
Danke
Alan Hathway
Hallihallo!
Ich gehe mal davon aus, daß Du KEIN Frameset benutzt, und Du Deine Funktion in jede HTML- Datei packst, die Du hast..
(dann lohnt sich das auslagern in eine *.js- Datei)...
Dann bekommst Du die zuvor besuchte Seite über
variable = document.referrer
raus.
Aber wie gesagt, das Funktioniert nur, wenn Du das Ganze nicht von einem anderen Frame aus steuern willst.
Falls doch, gibt es noch eine andere Lösung, aber da müsste das komplette Seitenkonzept drauf abgestimmt werden.
Ich hoffe, ich konnte Dir helfen, ansonsten musst Du Dich halt nochmal melden :)
viele liebe Grüße,
Der Dicki
Hallo
Es ist in einem Frameset, aber
variable = document.referrer
reicht aus (glaube ich). Ich habe auf der linken Seite ein Menü. Auf der rechten Seite wird, wenn es keine Aktivität gibt, immer htmspiele.html gezeigt. Man kann aber auf der rechten Seite in htmspiele.html hoch und runter fahren und andere Sachen anklicken, die auch dann rechts (im gleichen Frame) gezeigt werden.
Ich werde es probieren. Wenn es nicht klappt, poste ich neu, ansonsten: Danke Schön!
Alan Hathway
Hallo nochmals
Doch nicht
variable = document.referrer
hilft nicht. Es ist bei mir immer leer :-(
Laut SELFHTML Doku:
Beim MS Internet Explorer wird in document.referrer nur dann etwas gespeichert, wenn der Aufruf der aktuellen Datei über das HTTP-Protokoll erfolgte, also mit einem Verweis vom Typ http://...../dieseDatei.htm.
Ich habe ein einfaches Intranet und hupfe in meine Seiten durch
a href="seite.html"
weil alles im gleichen Verzeichnis ist.
Kann ich irgendwie sagen
a href="http://C:/Veranstaltung/seite.htm"
?
wobei C:\Veranstaltung\ ein Verzeichnis auf meiner C: Platte ist?
Alan Hathway
Danke linksetzer, guter Tipp, aber löst mein Problem leider nicht
Siehe
http://forum.de.selfhtml.org/index.shtml?m=82492&t=14814
Noch einen Tipp/Link?
Alan Hathway
Was ich mache möchte, aber nicht gebacken kriege, ist folgende Logik:
Wenn die letzte Seite htmspiel.html war, dann mach ein javascript:history.back(),
ansonsten sprung zu Anker #Teil2 in htmspiel.html
Anders ausgedruckt - wenn der Anwender von htmlspiele.html kam, dann möchte ich zurück AN DIE STELLE in htmspiele.html gehen, woher er kam (das macht javascript:history.back()) ansonsten zu #Teil2 in htmspiele.html
Hallo,
dazu auch diese schöne Seite:
http://praast.de/ffq/browser.htm#hist
Gruß: kaspar
Tach!
document.location.href="javascript:history.back();";
Diese Zeile ist gleich mehrfach 'doppelt gemoppelt'. Ein einfaches
history.back();
sollte reichen.
Da der Browser zu der Stelle der entsprechenden Seite zurückspringt wo er vorher schon war (jedenfalls meinem Test unter IE5.5 zufolge) meine ich, dass Du dir die ganze Abfrage wo der User herkommt schenken kannst und nur das history.back() benutzen müsstest.
Wäre zumindest einen Versuch wert.
Hoffe das hilft.
Pen
Hi
Sieht so aus, als ob ich nicht ausreichend die Sache erklärt habe
Wenn ich auf Seite-1 bin, scroll runter, klicke auf einen Link (linke Maustaste), Seite-2 ankucke und dann 'Zurück' klicke, bin
ich an der GLEICHEN Stelle in Seite-1, wo ich Seite-1 verlasse habe.
Das ist gut so. Diese Situation wollte ich herausfinden, in dem ich den document.referrer benutze und zur GLEICHEN Stelle zurückspringe in dem ich history.back() benutze
Mein Anwender kann aber Seite-1 ankucken, klick auf Seite-2, dann klick aus Seite-3 (ggf. 4, 5 usw.). Dann verlässt er den PC.
Ich möchte nach x Sekunden Inaktivität NICHT history.back() benutzen, da, ich dann bei Seite-n lande, sondern zurück zur Seite-1 springen
Deswegen wollte ich wissen, was der Name der letzten Seite war.
Bringe ich aber im Moment nicht hin.
Danke trotzdem
Alan Hathway