Probleme mit location.replace() und frames....
hany
- javascript
Hallo!!!!
Ich habe ein Problem, das wohl jedem der schon mit Frames gearbeitet hat schonmal untergekommen ist....
Ich habe eine Homepage mit 3 Frames. Auf der Startseite soll jedoch in den Frames oben und unten _keine_ Navigationsleisten zu sehen sein wie auf den Subsites, weshalb ich da einfach eine leere HMTL-Seite eingebunden habe. Wenn ich jetzt auf eine Unterseite gehe, klappt die Änderung aller 3 Frames mittels JavaScript einfach prima. Wenn ich jedoch über den Back-Button zurück gehe, muß ich 3 mal klicken um wieder auf der Startseite zu sein. Ein altbekanntes Problem, dessen Lösung mir auch bekannt ist: location.replace('...') statt location.href='...'.
Leider bedeutet das aber, daß durch replace die Leeren HMTL-Dokumente in der History überschrieben werden. D.h. wenn ich einmal klicke, steht im mittleren Frame zwar die gewünschte Startseite, aber die beiden Navigationsleisten in den anderen Frames verschwinden nicht (und können auch gar nicht mehr verschwinden, da ja leer.html der history nicht mehr bekannt ist...)
hat jemand eine Lösung, wie ich das alles umgehen kann????? Gibt es eine Möglichkeit, auf den Back-Button zuzugreifen? Ich weiß daß das bei jedem Browser anders wäre, aber die Homepage (Intranet!!!) wird nachweislich nur mit IE und NN (vorwiegend NN) gesichtet.
Vielen Dank im Vorraus!!!
Gruß Hany
Hallo Hany,
wenn ich Dein Problem richtig verstanden habe, sind die beiden "Navigations"-Frames von der Detailseite abgängig. Sprich: beim Laden der Detailseite, sollen sich die anderen beiden Frames der Detailseite anpassen; oder anders ausgedrückt "die Detailseite hat das Sagen":
Mit folgendem Code in den Detailseiten, werden die, dieser Detailseite zugehörigen, Navigationsframes richtig geladen:
<head>
<script language="JavaScript">
<!--
top.frames.FRAMEOBEN.location.replace("oben.htm");
top.frames.FRAMEUNTEN.location.replace("unten.htm");
//-->
</script>
</head>
<body>
(auf Deiner Startseite sind dann natürlich oben.htm und unten.htm entsprechend das leer.htm).
Viel Erfolg
Manfred
Zweimal durchgelesen und dann doch erst nach dem Absenden bemerkt:
wenn ich Dein Problem richtig verstanden habe, sind die beiden "Navigations"-Frames von der Detailseite abgängig.
Abgängig hoffentlich nicht - gemeint war abhängig.
Hallo Manfred!
Vielen Dank für Deine Hilfe, aber leider war es nicht das was ich suchte, ich habe mich etwas umständlich ausgedrückt. Mein Problem besteht darin, nach dem Überschreiben der Seiten leer.htm wieder zu diesen zu gelangen.
Ich will mal mein Problem step by step auflisten:
Ich verstehe nicht warum leer.htm komplett aus der history gelöscht wurde, während start.htm (Detailseite der Startseite) erhalten bleibt. Ich hoffe Du kannst mir helfen!
Vielen Dank!
Gruß Hany
So, ich habe das Problem zwar nicht so gelöst wie ich wollte, aber wenigstens umgangen, indem ich die Startseite ohne Frames definiert habe und aus ihr heraus die Framesets öffne. Jetzt gibt es keine Probleme mehr mit dem Back-Button. Schade daß man es offensichtlich nicht anders lösen kann, denn so war es doch etwas umständlich.