Logo www.praast.de

html by praast

Aus Frameset flüchten

Du möchtest, dass deine Homepage (oder Teile daraus) nicht in fremden Framesets anzeigt werden? Statt dessen soll dein Frameset nachgeladen werden, um so das fremde Frameset zu "sprengen" und dein eigenes anzuzeigen (siehe auch Eigene Startdatei)? Der Weg dazu ist relativ einfach:

Vorbereitung:

In der entsprechenden Startdatei (wie index.htm) legst du folgendes im <head> an:

<script language="javascript" type="text/javascript">
<!--
 var frameset_geladen = "KENNWORT";
// -->
</script>

KENNWORT: Ist ein von dir genutztes "Kennwort" . Dieses muss in der index-Datei und in den Framedateien gleich sein!
Nun noch die entsprechenden Routinen in den einzelnen (aufzurufenden) Dateien:

<script language="javascript" type="text/javascript">
<!--
function ersetzen(adresse) {
 top.location.href = adresse;    // funktioniert immer
 }
// -->
</script>
<script language="javascript1.1" type="text/javascript">
<!--
function ersetzen(adresse) {
 top.location.replace(adresse); // History überschreiben
 }
// -->
</script>
<script>
<!--
if (top.frameset_geladen + "" != "KENNWORT")
  ersetzen("DEINE_INDEX.HTM");
// -->
</script>

KENNWORT: Ist ein von dir genutztes "Kennwort".
DEINE_INDEX.HTM: Hier bitte deine Framesetdatei (index.htm) einsetzen.

"top.location.replace(adresse);" sorgt dafür, dass Besucher, deren Browser mindestens JavaScript1.1 verstehen, nicht in einer Endlosschleife gefangen werden, da "top.location.replace(adresse);" den alten History-Eintrag überschreibt.

Dieses Beispiel ist auch in der FAQ der JavaScript-Newsgroup de.comp.lang.javascript enthalten. Die FAQ findest du unter http://www.dcljs.de/.

Kontakt/Feedback