Frames
Frames sind eine Erfindung von Netscape und haben sich innerhalb
kürzester Zeit zum echten Standard entwickelt. Unter Frames versteht
man Rahmen, die das Browserfenster in kleinere Fenster unterteilen.
Diese Fenster können getrennt voneinander angesprochen werden. Es
ist z.B. möglich, das in einem Fenster ein Video läuft und in einem
anderen ein erläuternder Text zu sehen ist.
CAB unterstützt erst ab Version 2.0 Frames, unter der aktuellen
Webspace-Version (1.45) treten grobe Anzeigefehler auf.
Definition eines Frames
Die Frame-Definition hat ihren Platz vor dem <BODY>-Tag. Sie
wird meistens auf der Eingangsseite plaziert und muß bei
den Seiten auf denen die Eingangsseite verweist, nicht neu
angegeben werden.
Mit <frameset> wird die Framedefinition begonnen.
Innerhalb von <frameset> kann folgendes angegeben werden
rows= oder cols=. Rows bedeutet Zeile und Cols Spalte.
Man kann das Fenster also in Spalten oder Zeilen unterteilen. Die
Angabe hinter rows= bzw. cols= erfolgt in Pixeln
oder Prozent. Abgeschlossen wird die Frame-Definition mit
</frameset>
Beispiel
<frameset cols="40%,*">
<frame src="hallo.html" name="links">
<frame src="index.html" name="rechts">
</frameset>
Das Browserfenster wird in dem Beispiel in zwei Spalten unterteilt:
Die linke Spalte nimmt 40% ein, die rechte den Rest (also 60%). Das
Sternchen teilt dem Browser mit, daß der gesamte Rest für das andere
Frame (in dem Fall das rechte) zu verwenden ist.
Innerhalb der <frameset>-Definition steht
<frame src=. Dieses Tag teilt dem Browser mit, welche Datei
in dem Framefenster dargestellt werden soll. Das erste (linke) Frame
soll die Datei 'hallo.html' darstellen. Mit name= gibt
man dem Frame einen Namen, den man später bei Verweisen benutzen
kann.
Zeilen kann man analog definieren.
Kombinationen von Frames
Es ist selbstverständlich auch möglich, Frames in Frames und unterschiedliche
Frame-Arten miteinander zu kombinieren:
<frameset cols="40%,*">
<frame src="hallo.html" name="links">
<frameset rows="20%,*">
<frame src="index.html" name="oben">
<frame src="titel.html" name="unten">
</frameset>
</frameset>
Die Datei 'hallo.html' wird in dem linken Frame dargestellt, das 40%
des Browsers einnimmt. Für den rechten Teil wird jedoch eine neue
<frameset> begonnen, um eine erneute Unterteilung
zu bewirken. Der rechte Teil wird in zwei Zeilen unterteilt: Die obere
nimmt 20% ein, die untere den Rest. Anschaulicher wird's, wenn Ihr
Browser Frames beherrscht, den dann können sie sich jetzt einmal
die fertigen Frames ansehen.
Zusätzliche Attribute für Frames
In der Regel läßt sich jedes einzelne Frame in seiner Größe verändern.
Außerdem fügt der Browser Scrollpfeile dazu, wenn der Inhalt des
Framefensters größer ist als das Framefenster. Dies kann man jedoch
unterbinden. In das Tag <frame src= können zusätzlich
folgende Angaben gemacht werden:
- noresize: Die Größe des Framefensters kann nicht mehr verändert werden
- scrolling=no: Es ist kein Scrolling mehr möglich
- marginheight=Zahl: vertikaler Abstand des Frameinhalts vom Rand des Frames. 'Zahl' ist
eine Pixelangabe.
- marginwidth=Zahl: horizontaler Abstand des Frameinhalts vom Rand des Frames. 'Zahl'
wird in Pixeln angegeben.
Beispiel
<frame src="hallo.html" name="gruss" noresize scrolling=no marginheight=5 marginwidth=0>
Namen für Frames
Das man jedem Frame einen Namen geben kann wurde schon erwähnt, aber nicht
wofür man es gebrauchen kann. Bei jedem Verweis können Sie angeben,
in welchem Framefenster er dargestellt werden soll:
Beispiel
<a href="bla.html" target="gruss">
Mit target= wird dem Browser mitgeteilt, in welchem Frame
die Datei angezeigt werden soll, wenn der Verweis angewählt wird.
Fehlt target=, wird die Datei in dem Framefenster angezeigt, in
dem der Verweis angewählt wurde.
Namen für Frames dürfen frei gewählt werden, wie üblich sollte man
auf Umlaute verzichten und den Namen nicht zu lang werden lassen.
Eine weitere Einschränkung ist, daß das erste Zeichen kein Unterstrich
sein darf. Der Grund dafür sind einige reservierte Namen für
Frames:
- _parent: Das übergeordnete Fenster stellt den Inhalt dar. Mit _parent
werden meistens die Frames entfernt.
- _blank: Der Browser soll das Verweisziel in einem neuen
Fenster anzeigen.
Ärger mit Frames
Zuerst sollten Sie sich merken, die Frames zu entfernen, wenn Sie
auf eine fremde Seite verweisen.
Beispiel
<a href="http://ourworld.compuserve.com/homepages/pcgeek/proj64.htm" target="_parent">Project 64</a>
Project 64
Diese Seite benutzt selber Frames. Wenn Sie also Ihre Frames nicht entfernen,
werden die Frames von 'Project 64' in dem Frame dargestellt, wo der Verweis
steht. Das sieht nicht nur äußerst unschön aus, sondern ist teilweise
unlesbar, da natürlich jede Seite davon ausgeht, das ganze Browser-Fenster
für sich alleine zu haben! Also: Bei Verweisen auf fremde Seiten immer target="_parent"
angeben.
Ärger kann außerdem mit Benutzern entstehen, die einen älteren Browser
benutzen (dazu zählt auch CAB 1.5!), der noch keine Frames darstellen
kann. Die Frame-Definition wird vom Browser dann nämlich ignoriert.
Deshalb sollte man hinter der Frame-Definition eine Alternativ-Seite
anfügen, die den Inhalt der Hauptseite enthält und ermöglicht, auch
ohne Frames auf alle Seiten zu gelangen. Ein Frame-fähiger Browser
wird sich übrigens nicht um diese Alternativ-Seite kümmern.
Nächstes Kapitel: Meta-Informationen.
Start * Das WWW *
Inhalt