Frames
In diesem Kapitel lernt Ihr
Was sind Frames?
Frames sind eigentlich keine richtigen Seiten einer Homepage. Sie werden nur dazu verwendet mehrere andere Seiten anzuzeigen. Man kann mit einem Frameset mehrere Seiten laden.
Schaut euch diese Seite mal genau an. Dann werdet Ihr feststellen, dass ich ein Frameset verwende. Im ganz linken Frame wird das Menü geladen, im Mittleren wird der Strichcode geladen und im Rechten befindet sich der ganze Text. Die Sachen, die in einem Frame angezeigt weden sind selber HTML-Dokumente. Sie werden nur in einem anderen HTML-Dokument angezeigt. Wechselt Ihr auf eine andere Unterseite wird nur diese eine Seite neu geladen. Das Menü und der Strichcode (auf meiner Site) müssen nicht neu geladen werden, da sie sich nicht ändern. Anders gesagt: In einem Frameset werden nur die Inhalte neu geladen, die benötigt werden.
Welche Vorteile/Nachteile haben Frames?
Vorteile
- Frames sind modemfreundlich.
Wenn man auf eine Site kommt, die mit Frames gestaltet ist dauert es etwas länger zum Laden als sonst, weil mehrere Seiten geladen werden müssen. Wechselt man dann allerding in den Unterseiten hin und her geht es bedeutend schneller voran als ohne Frames, da das Menü nicht neu geladen werden muss.
- Frames sind übersichtlich.
Bei einer langen Seite, die z.B. mit einer Tabelle gestaltet ist, scrollt das Menü gleichzeitig mit dem Text. Bei einem Frameset kann man jeden Frame einzeln scrollen lassen. Man kann also festlegen, dass das Menü stehen bleibt und der Text weiterscrollt. Somit verliert man nie das Menü aus dem Blickfeld und erspart sich lästiges nach-oben-scrollen.
- Ein Frameset ist gut für Anfänger geeignet.
Erstellt man seine erste selbst geschriebene Site, so ist ein Frameset einfacher zu gestalten als eine Tabellenkonstruktion. Man kann alles getrennt voneinander gestalten. Das Menü, die Unterseiten, usw. Man muss also wie hier nur noch den Text schreiben und diesen als HTML-Dokument speichern. Dann baut man ein Frameset und verlinkt dieses Dokument und schon wird es angezeigt. Das Selbe macht man mit dem Menü, oder was man sonst noch hat, und verlinkt alles richtig und schon ist die erste Site fertig.
Nachteile
- Man kann sich "rauskugeln".
Verwendet man Firefox oder andere Browser, die mit Tabs, etc. arbeiten kann es passieren, dass man sich aus einem Frameset "rauskugelt", also dass man eine Unterseite in einem neuen Tab öffnet, in dem das Menü nicht mehr vorhanden ist. Man muss diesen Tab dann erst schließen, um wieder zum Richtigen zu kommen.
- Framesets kann man nicht in Suchmaschinen eintragen.
Oder besser gesagt, man kann schon, aber was bringt es einem, wenn eine Suchmaschine den Link zu einer Unterseite zeigt, wenn das Menü nicht vorhanden ist? Genau darin liegt das Problem. Es muss immer die Seite aufgerufen werden, auf der das Frameset vorhanden ist, ansonsten zeigt es nur eine Seite an, die eigentlich im Frameset sein sollte.
- Man kann nicht auf Unterseiten des Framesets verlinken.
Dies geht aus dem selben Grund nicht wie das mit den Suchmaschinen. Es muss immer die Seite mit dem Frameset geladen werden, damit die Site auch funktioniert. Ansonsten wäre es ja ziemlich sinnlos, oder?
Wie erstellt man Framesets?
Ein Frameset an sich ist schnell erstellt. Man muss nur ein paar wichtige Sachen beachten, damit es auch funktioniert. Wie ein Frameset aussieht zeige ich nun:
<frameset cols="30%,70%">
<frame src="links.html">
<frame src="rechts.html">
<noframes>Leider kann Ihr Browser dies nicht anzeigen.</noframes>
</frameset>
Das Tag <frameset>...</frameset> definiert dabei das Frameset. Es gibt verschiedene Attribute, die man einfügen kann. Diese werde ich nun erläutern:
- cols="..."
Mit diesem Attribut gibt man an, wieviele Spalten man hat und wie breit diese sind. Im obigen Beispiel beträgt die Wertangabe "30%,70%". Dies gibt an, dass es zwei Spalten sein sollen(da es zwei Werte sind), die jeweils 30% und 70% der Breite des Fensters beanspruchen sollen.
- rows="..."
Dieses Attribut darf nur anstelle von cols gesetzt werden, nie gleichzeitig! Es gibt an, wieviele Reihen in dem Frameset entahlten sind. Die Wertangabe erfolgt genau so wie bei cols.
- frameborder="..."
Dieses Attribut gibt an wie breit der Rahmen des Framesets sein soll. Die Wertangabe erfolgt hierbei in Pixeln. beträgt der Wert 0, dann ist kein Rahmen zu sehen.
Auch das Tag <frame>...</frame> hat verschiedene Attribute zur Auswahl. Diese will ich nun erläutern:
- src="..."
Mit diesem Attribut wird festgelegt welches Dokument in dem Frame geladen werden soll. Die Wertangabe besteht aus dem Pfad zu dem Dokument.
- name="..."
Hiermit wird der name des Frames festgelegt, damit man später darin auch Seiten anzeigen lassen kann.
- scrolling="auto/yes/no"
Mit dieser Angabe legt man fest, ob eine Scrollleiste angezeigt werden soll. yes zeigt die Scrollleiste immer an, no zegt sie nicht an und auto zeigt sie nur bei Bedarf an.
- noresize
Dieses Attribut benötigt man, wenn man nicht will, dass der Besucher der Site die Frames in der Größe ändern kann.
Das Tag <noframe>...</noframe> wird nur dann angezeigt, wenn der Browser des Besuchers keine Frames unterstützt. Alle aktuellen Browser unterstützen Frames. Als Wertangabe gibt man den Text ein, den der Besucher erhalten soll, falls das Frameset nicht angezeigt werden kann.
Wie erstellt man I-Frames?
Will man I-Frames verwenden lohnt es sich eine Seite mit Tabellen zu gestalten und die Zellen, die Inhalt haben sollen, mit I-Frames zu füllen. Nun zeige ich, wie ein I-Frame in HTMl aussieht:
<iframe src="..." name="Forum" frameborder="0" scrolling="auto">Kann nicht angezeigt werden</iframe>
Auch hier hat man mehrere Möglickeiten das I-Frame-Tag mit Attributen zu füllen:
- src="..."
Gibt auch hier den Pfad zum Dokument an, das angezeigt werden soll
- name="..."
Dieses Attribut bestimmt den Namen des I-Frames.
- frameborder="..."
Hiermit wird die Dicke des Framerahmens angegeben. Beträgt der Wert 0 ist der rahmen nicht zu sehen.
- scrolling="auto/yes/no"
Hiermit bestimmt man, ob eine Scrollleiste angezeigt werden soll.
- height="..."
Damit bestimmt man die Höhe des I-Frames. Die Wertangabe kann in Pixel oder Prozent erfolgen.
- width="..."
Mit diesem Attribut bestimmt man die Breite des I-Frames. Auch hier erfolgt die Wertangabe in Pixel oder Prozent.
© by Benjamin Hofmann