# Fenster mit mehreren Frames gleichzeitig schliessen



## mb303 (23. Januar 2001)

Hallo erstmal,
ich habe folgendes Problemchen:
Ich habe ein Fenster mit 3 Frames angelegt und möchte jetzt in einem Frame einen Button anbringen, der das gesamte Fenster komplett schließt.
window.close oder self.close funzen nicht...
Danke im voraus...
PS: zu sehen unter http://www.mb303.exit.de


----------



## Klon (23. Januar 2001)

*Hm*

Tu mal folgendes in den <HEAD> Abschnitt:

<script language="JavaScript">
<!--

function Break()
{
top.location.href=self.location;
} 
//-->
</script>

dann machst du in den Body-Tag:

<body onload="javascript:self.close()" bgcolor= ...>

und das Link zum schliessen machst du mal so:

<a href="javascript:Break()">Schliessen</a>


Das onload self.close hat innerhalb des Framesets dann keine Wirkung, lädt sich jedoch die Seite ausserhalb des Framesets (was die funktion Break ja tut), so schliest es das Fenster.

Hoffe mal das funzt.

Klon


----------



## mb303 (24. Januar 2001)

OK danke erstmal...leider funzt es trotzdem nicht.
Kannst Du vielleicht nochmal genau schreiben,
was in welchen Teil gehört?!
Also angenommen ich hab ein Frameset(frameset.htm)
in dem drei Frames definiert sind (navigator.htm,inhalt.htm
und top.htm).
Ich will also mit einem Button/Link etc. in top.htm es schaffen, das gesamte Fenster zu schliessen.
Also das javascript:break() gehört ins top.htm (nehm ich mal an), aber der Rest? In frameset.htm oder wie?

Fragen über Fragen, wer kann mir die Antwort sagen...?


----------



## Klon (24. Januar 2001)

Dann packst du das Script irgendwo zwischen 
<HEAD> und </HEAD> in der datei "top.html" und das mit dem onload="javascript:self.close()" das packste mit in den <body> tag.
Also wenn der vorher so aus sah: <body bgcolor=#202020> dann siehter jetz so aus:
<body bgcolor=#202020 onload="javascript:self.close()">

Und das Link zum schließen, das soll dann so sein:
<a href="javascript:Break()">SCHLIESSEN</a>

Noch mal zu der Idee dahinter:
Das self.close wird beim laden der datei "top.html" ausgeführt. Zu dem Zeitpunkt ist es innerhalb des framesets und hat keine Wirkung.

Klickst du nun auf das Link SCHLIESSEN, lädt sich die datei "top.html" neu, und zwar ausserhalb des Framesets (das bewirkt das JavaScript), bei diesem neuladen wird wieder das self.close ausgeführt und diesmal schließt es das Fenster.
Das mag zwar von hinter-durch-die-Brust-ins-Auge gebastelt sein, aber der Zweck heiligt die Mittel *afaik

Try it


----------

