Probleme bei history.back mit dem IE 5.5 innerhalb frameset
Thorsten Olscha
- javascript
0 Thorsten Olscha0 axel
Hallo Forumler---
Zum Thema history.back und den Probleme die es innerhalb von Framesets gibst, sind jede Menge Artikel zu finden.
Ich liste jetzt mal meinen Code auf. Der funktioniert wunderbar in Netscape und IE 5. Aber im 5.5er klappt es nicht. Der wechselt pro Click nur einen Frame.
Ich komm da nicht mehr weiter und erbitte Hilfe...
(Bitte keine Kommentare zu Framesets als Solches ok?)
Also das Frameset sieht so aus:
-----------------------------
<frameset rows="110,*,70" border="0" frameborder="0" framespacing="0" scrolling="no">
<frame src="top.html" name="top_nav" scrolling="no">
</frame>
<frame src="center.html" name="center" noresize>
</frame>
<frameset cols="520,*" border="0" frameborder="0" framespacing="0" scrolling="no" marginheight="0" marginwidth="0">
<frame src="werbung/" name="bottomleft" scrolling="no" marginheight="0" marginwidth="0" noresize>
</frame>
<frame src="/servlet/page/login" name="bottom" marginheight="0" marginwidth="0" scrolling="no">
</frame>
</frameset>
</frameset>
-----------------------------------
Die Function zum zurückspringen:
<script language="JavaScript1.2">
<!--
function back_test() {
parent.frames[0].focus(); //ein hilfloser Versuch ohne klappst genauso gut:-)
window.document.frames[0].history.go(-1);
parent.frames[1].focus();
window.document.frames[1].history.go(-1);
alert (parent.frames[0].name); // for debugging
alert (parent.frames[1].name); // for debugging
}
//-->
</script>
-----------------------------------------
Der Aufruf
<a href="#" onclick="back_test();"><span class="ts9">zurueck</span></a>
Sorry!
Ich hab vorhin den Working Code gegeben.
Anstatt window.document nehme ich top oder parent also:
top.frames[0].focus();
top.frames[0].history.go(-1);
top.frames[1].focus();
top.frames[1].history.go(-1);
aber das löst das Problem auch nicht!
Hallo Thorsten,
vielleicht versteh ich ja Dein Problem nicht richtig, aber kannst Du nicht einfach
<a href="javascript:history.go(-2)">zurück</a>
schreiben?
grüße
axel
*smile*
Es ginge natürlich den IE 5.5 abzufangen und den 2 mal zurückgehn lassen und alle anderen einmal. Aber ich wüsste natürlich auch gerne was der IE 5.5 anders macht.
Hallo Thorsten,
Axel hat recht, mit dem geht es. Normalerweise.
Wie wäre es als Alternative ohne HistoryBack zu arbeiten? Wenn z.B. ein User von einer anderen Seite zu dir verlinkt wird und er geht auf deinen Zurück-Button, weil er denkt er kommt in deiner Seite eine Verzeichnisstufe höher, was passiert stattdessen? Er kommt auf die Seite zurück von der er hergekommen ist.
Oder er hat eine Seite als Bookmark gespeichert von deiner Homepage. Geht er per Bookmark auf deine Seite und klickt dann auf zurück, so hat er das gleiche Problem.
Wenn du stattdessen alles per normalen HTML-Befehl machst, kommt er nicht zu seiner vorhergehenden Seite sondern wirklich eine Verzeichnisstufe höher.
Du kannst dir natürlich überlegen was dir lieber ist. Ich gebe dir damit nur meine Überlegungen und Erfahrungen wieder.
Wie du es dann natürlich handhabst ist deine Sache, denke aber immer an den Besucher deiner Seite.
Viele Grüße,
Indigo
Hallo Indigo!
Ich weiss es sehr zu schätzen, dass du dir Workaround überlegst.
Anderseite poste ich den Thread hier, weil ich wissen will warum es beim IE 5.5 anders ist und zweitens ist es ja so, daß man so einfache Workarounds wie du vorschlägst oft (so auch in diesem Falle) nicht machen kann.
So auch in diesem Fall...
Aber trotzdem Danke
Viele gruesse
Thorsten