Seite aus fremdem Frameset befreien

Wenn du im Quelltext deiner Seite im <head>Bereich, also zwischen <head> und </head>, das folgende Script einbaust, wird die Seite nie in einem Frameset angezeigt.

<script type="text/javascript">
<!--
if (self.parent.frames.length != 0) self.parent.location="deineURL";
//-->
</script>

Erklärung:

<script type="text/javascript"> bewirkt, dass ab hier die Dokumentsprache JavaScript ist (also nicht mehr HTML).

<!-- Diese Zeile bewirkt, dass Browser, die kein JavaScript ausführen können, das folgende ignorieren. Das ist sinnvoll, weil diese Browser sonst Fehlermeldungen zeigen würden.

if (parent.frames.length != 0) bedeutet: Wenn die Adresse des Elterndokuments (also der Frameseite, die diese Seite enthält) nicht die selbe ist, wie die Adresse dieses Dokuments, dann führe das aus, was danach steht. Die Bedingung ist erfüllt, wenn es ein Elterndokument gibt. Anders ausgedrückt: Wenn die Seite Bestandteil eines Framesets ist, wird das folgende ausgeführt.

parent.location="deineURL"; legt fest, dass die angegebe Adresse zur Adresse des Elterndokuments wird. Sie wird also statt der Frameseite angezeigt.

//--> Hier endet der Bereich, der von Browsern die kein JavaScript beherrschen ignoriert wird.

</script> Hier endet das Script und die Dokumentsprache ist ab hier wieder HTML.

Dieses Script kann man natürlich auch in sein Frameset einbauen. Damit verhindert man, dass das Frameset als Bestandteil eines weitern Framesets angezeigt wird.

Da dieses Script nicht zwischen eigenen und fremden Framesets unterscheidet, darf man das Script natürlich nicht in Seiten einbauen, die man in Framesets verwenden will.


Um einen Link zu setzen, der direkt auf diese Seite führt, verwende folgende Url: