HTML/Elemente/frame
Das frame-Element dient dazu Teile von Webseiten auszulagern. Netscape führte diese Technik 1996 ein, mit der im Bildschirm mehrere Dateien gleichzeitig angezeigt werden konnten. Dies ermöglichte z. B. eine Navigation in einem Bereich und einen Bereich, der die wechselnden Inhaltsdokumente aufnahm.
Weblinks
W3C: HTML/Elements/frame
Prinzip
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<frameset cols="1000, *">
<frame src="FRAMESET_navigation.html" name="navigation">
<frame src="FRAMESET_home.html" name="in">
</frameset>
</html>
Das Attribut cols
legt die Spalten eines Framesets fest. In diesem Beispiel werden zwei Spalten definiert. Die erste Spalte erhält eine Breite von 200 Pixeln, durch *
erhält der zweite Frame automatisch den Rest der Breite des Browserfensters. Die gleiche Syntax wird für das Festlegen von Zeilen (rows
) verwendet.
In das Frameset werden die zwei benötigten Frames eingebunden. Über das Attribut src
werden die verwendeten Ressourcen bestimmt.
Nachteile
Frames wurden Ende des letzten Jahrtausends fleißig verwendet, als Provider Möglichkeiten des serverseitigen Zusammenbaus von Websites nur selten anboten. Heute stellen fast alle Provider mindestens eine serverseitige Sprache zur Verfügung, welche den traditionellen Bedarf für Frames obsolet machen.
Frames haben eine Reihe von Nachteilen:
Durch die Trennung in mehrere Dokumente …
- konnten Nutzer keine Lesezeichen auf Unterseiten setzen, da Browser nur die Adresse des aufgerufenen Framesets und nicht der geladenen Inhaltsframes anzeigten, konnten diese durch unerfahrene Browseranwender nicht in die Bookmarks aufgenommen werden
- konnten Seiteninhalte nicht komplett ausgedruckt werden
- wurden (über Suchmaschinen gefundene) Seiteninhalte ohne Navigation aufgerufen
Als Lösung benötigte man ein JavaScript, das das Frameset nachlädt, wenn eine Unterseite alleine geöffnet wurde.
Des Weiteren konnten die verschiedenen Dokumente …
- nicht mit CSS positioniert werden, sodass die Ansicht nicht für Geräte mit kleinem Viewport angepasst werden kann.