Homepagebau |
|
|||||
Links und Frames
Schwierigkeitsgrad:
öffnen von mehreren Seiten mit einem Link:
In diesem Abschnitt wollen wir uns damit beschäftigen, wie man Frames korrekt adressiert - um zum Beispiel mit einem Link 2 oder mehr Frames zu aktualisieren.
Das Document-Objekt besitzt die les- und schreibbare Eigenschaft "Location", welche die URL der geladenen Seite angibt.
Es gibt eine Reihe verschiedener Möglichkeiten, diese Eigenschaft zu setzen: location = "..." (äquivalent zu self.location = "..." und document.location = "..."), location.url = "..", location.replace("..."). Wirklich sinnvoll ist vor allem letztere, da sie die Variante darstellt, die auch von älteren Browsern unterstützt wird.
Im praktischen Einsatz genügt es allerdings häufig nicht, einfach nur eine neue Seite zu öffnen. Uns interessiert außerdem WO wir sie öffnen. Dafür gibt es vor allem 2 wichtige Möglichkeiten. Eine Framesseite besitzt die Eigenschaft "frames[]". Dabei handelt sich um ein nur lesbares Array, das Verweise auf alle Frames enthält. Die Reihenfolge stimmt dabei mit der Reihenfolge des Auftauchens der Frames im Quelltext überein.
Beispiel: frames[0] ist dabei der 1. Frame, frames[1] der 2. usw.
Außerdem können Frames auch über ihren Namen angesprochen werden.
Beispiel: oben ist der Frame mit dem Namen "oben".Es gibt einige nur lesbare Schlüsselwörter ("top", "self" und "parent"), die ebenfalls Verweise darstellen:
self = Verweis auf den Frame selbst
parent = Verweis auf den übergeordneten Frame
top = Verweis auf den Basisframe
Äquivalent zu diesem Beispiel der Quellcode:
Basisframe ("frame1.htm")
...
<frameset
rows="150,*">
<frame name="oben" src="bannerleiste.htm">
<frame name="unten" src="frame2.htm" noresize>
</frameset>
...eingebetteter Frame ("frame2.htm")
...
<frameset
cols="135,*">
<frame name="links" src="nav.htm">
<frame name="rechts" src="start.htm" scrolling="auto" style="border: 8px double #FFFFFF" target="_self">
</frameset>
...Beispiele:
von "nav.htm" ("links") aus den Inhalt des Frames "rechts" ändern:
rechts.location = "andereSeite.htm"
von "nav.htm" ("links") aus den Inhalt des Frames "oben" ändern:
("oben" ist ein übergeordneter Frame)
parent.oben.location = "andereSeite.htm"
von "nav.htm" ("links") aus eine komplett andere Seite öffnen:
top.location = "index2.htm"
Um mit einem einzigen Link mehrere Frames zu aktualisieren:
<a href="#" onClick="ZielFrame1.location = 'http://...'; ZielFrame2.location = 'http://...'; ... ZielFrameN.location = 'http://...';">...</a>
Alternative:
<a href="javascript:ZielFrame1.location = 'http://...'; ZielFrame2.location = 'http://...'; ... ZielFrameN.location = 'http://...';">...</a>
Autor: Thomas Meyer |
Home: www.All-Community.de |
Kontakt: |