frames |
|
frames: Allgemeines zur Verwendung Eigenschaft:
length (Anzahl Frames) Unterobjekte: |
|
Mit dem Objekt frames haben Sie Zugriff auf Frames, also auf ein Frame-Set und seine Frame-Fenster, die in einer HTML-Datei definiert sind.
Da jedes Frame-Fenster aus Sicht des Browsers ein eigenes Fenster darstellt, ist das frames-Objekt lediglich eine Variante des window-Objekts, also des allgemeinen Fenster-Objekts. Alle Eigenschaften und Methoden, die zum window-Objekt gehören, lassen sich auch auf das frames-Objekt, also auf einzelne Frame-Fenster anwenden. Das frames-Objekt stellt nur deshalb ein eigenes Objekt dar, weil es eine zusätzliche Eigenschaft enthält, und weil bei der Adressierung von Frame-Fenstern in JavaScript ein paar Besonderheiten zu beachten sind:
parent.frames[#].Eigenschaft/Methode(); parent.frames[1].location.href = "sport.html"; |
parent.NameDesFrames.Eigenschaft/Methode(); parent.RechtesFenster.close(); |
parent ist ein reservierter Fenstername, den Sie zum Ansprechen von Fenstern innerhalb eines Frame-Sets verwenden können. Anstelle von parent können Sie auch top verwenden. Mit parent sprechen Sie das Eltern-Fenster des aktuellen Frame-Fensters an, mit top in jedem Fall das oberste Anzeigefenster des Browsers.
Frame-Fenster können Sie auf zwei Arten ansprechen:
Da das frames-Objekt eigentlich eine Variante des window-Objekts ist, können Sie nicht nur die alle Eigenschaften und Methoden des window-Objekts auf das frames-Objekt anwenden, sondern auch alle anderen, die in der Hierarchie unterhalb des window-Objekts stehen. Ebenso, wie Sie beispielsweise mit window.document.forms[0].elements[0].value = "Stefan" den Inhalt eines Formular Eingabefelds in einer gewöhnlichen HTML-Datei ändern können, können Sie das gleiche innerhalb eines Frame-Sets etwa mit parent.frames[1].document.forms[0].elements[0].value = "Stefan" erreichen.
Ein typisches Anwendungsbeispiel für den Einsatz des Frame-Objekts finden Sie in diesem Dokument: Zwei Frames gleichzeitig ändern.
Speichert, wie viele Frame-Fenster ein übergeordnetes Fenster enthält.
<html><head><title>Test</title> <script language="JavaScript"> for(i=0; i < parent.frames.length; ++i) alert(parent.frames[i].name); </script> </head><body> </body></html> |
Mit parent.frames.length oder top.frames.length können Sie die Anzahl der Frame-Fenster ermitteln. Im Beispiel wird angenommen, daß die HTML-Datei innerhalb eines Frame-Sets aufgerufen wird. Beim Einlesen der Datei gibt die Datei mit der Methode alert() nacheinander die Namen aller Frame-Fenster im Frame-Set aus. Dazu dient die for-Schleife. Die Eigenschaft parent.frames.length dient als Abbruchbedingung für die Schleife. Da der Schleifenzähler i bei jedem Schleifendurchlauf um 1 erhöht wird, wird mit parent.frames[i] jeweils das nächste Frame-Fenster angesprochen.
weiter: | document |
zurück: | window |