Tips & Tricks: Mehrere Fenster gleichzeitig ansteuern |
So praktisch in manchen Fällen Frames auch sind, man wurde der Flexibilität doch sehr beraubt. Mit der normalen HTML-Syntax war es nicht möglich mehrere Fenster gleichzeitig zu ändern. JavaScript bereinigt dieses Versäumnis und ermöglicht es mit einfachen Mitteln beliebig viele Fenster gleichzeitig zu wechseln. Um dies einzusetzen müssen wir natürlich erst das Frameset definieren:
<FRAMESET COLS="60%,40%"> <FRAMESET ROWS="30%,70%"> <FRAME NAME = "eins" SRC="fenster1.html"> <FRAME NAME = "zwei" SRC="fenster2.html"> </FRAMESET> <FRAMESET ROWS="30%,70%"> <FRAME NAME = "drei" SRC="fenster3.html"> <FRAME NAME = "vier" SRC="fenster4.html"> </FRAMESET> </FRAMESET>In diesem Beispiel wurden vier Fenster erzeugt. Die jeweiligen Fensternamen sind zur Erstellung der JavaScript Funktionen wichtig. Wir nehmen an, daß Sie in der Datei fenster1.html einen Button wollen, der mehrere Fenster gleichzeitig ansteuern soll. Hierzu binden wir folgende Funktion zwischen die <HEAD></HEAD>-Tags ein:
function start(){ parent.zwei.location = "datei1.html"; parent.drei.location = "datei2.html"; }Wird diese Funktion ausgeführt, ändert sich der Inhalt von Fenster eins und zwei entsprechend der zugewiesenen location. Um die Funktion auszuführen müssen wir einen Verweis erzeugen:
<FORM> <INPUT TYPE="button" VALUE="Start" onClick= "start()"> </FORM>Wenn Sie auf einer Seite mehrere Verweise anbringen möchten, die verschiedene Fenster gleichzeitig ansteuern sollen, so müssen Sie für jeden Verweis eine eigen Funktion schreiben:
function start2(){Jede weitere Funktion muß eine eigene Bezeichnung erhalten. Im obigen Beispiel haben wir den zweiten Verweis start2 benannt. Die nächste würde z.B. start3 usw. heißen. Sie können natürlich auf Grafiken oder einen Textlink als Verweis verwenden:
<a href="javascript:start()">Start</a>Sie müssen als href nur javascript:name_der_funktion() angeben. Für Grafiken als Link binden Sie einfach eine Grafik statt dem Text. ein. Sie können ab Netscape Version 3.0 Preview 2 auch folgende Variante des Textlinks oder Grafiken zur gleichzeitigen Ansteuerung von Frame-Fenster benutzen (hierbei benötigen Sie keine Funktion mehr):
<A HREF='JavaScript:parent.eins.location.href="f6.htm"; parent.zwei.location.href="f6.htm"; parent.drei.location.href="f6.htm"; close.fenster'>3Frames ändern</A>Geben Sie z.B. bei eins den Namen des Frames an, welches Sie ändern möchten. Unter href wird nun die Zieldatei eingetragen. Am Ende der Anweisung geben Sie einfach close.fenster ein (geben Sie dies nicht an, so wird das Fenster aus dem Sie den Links veranlassen ebenfalls geändert!). Nachdem Sie nun wissen wie man mehrere Fenster gleichzeitig ändert, sollten Sie noch unser Beispiel ansehen.