- Frame (HTML)
-
Ein Frame ist ein Teilbereich einer HTML-Seite, in dem eine andere HTML-Seite dargestellt werden kann. Das einzelne Segment wird dabei als Frame (dt. Rahmen) bezeichnet, die Definition aller Frames als Frameset.
Inhaltsverzeichnis
Entwicklung
Die Frame-Technik wurde von Netscape im Navigator 2.0 eingeführt und wird heute von den meisten Browsern unterstützt. Das W3C hat Framesets in den Versionen HTML 4.0 und XHTML 1.0 standardisiert. In HTML5 wird die Frame-Technik nicht übernommen.[1]
Vorteile
Ein Vorteil ist die Möglichkeit zur parallelen Darstellung mehrerer Einzeldokumente. Dadurch lässt sich die vom Webserver zum Webbrowser übertragene Datenmenge reduzieren und es wird eine Modularisierung einer Website ohne serverseitige Techniken möglich. So lässt sich beispielsweise die Navigation zentral in einem HTML-Dokument verwalten und muss nicht auf jeder neuen Seite eingefügt werden.
Ein weiterer Vorteil ist, dass nur der jeweils gerade aktuelle Frame gescrollt wird, während andere Frames davon unbeeinflusst sind. So lässt sich beispielsweise ein Inhaltsframe scrollen, während die Navigation und andere wichtige Bereiche im jeweils eigenen Frame nicht mit scrollen.
Vorteilhaft ist zudem, dass sich über Frames problemlos Inhalte aus unterschiedlichen Quellen bzw. aus verschiedenen Webanwendungen miteinander kombinieren lassen. So könnten Ergebnisse einer Webanwendung in einem Frame in einem anderen Frame angezeigt werden.
Nachteile
Adressierung
Normale HTML-Seiten haben nur eine Adresse, mit der sie erreichbar sind. Frames bestehen jedoch aus mehreren Unterseiten, wobei im Browser meist die Adresse der Framedefinition (des Framesets) angezeigt wird, die sich bei dem Wechsel auf eine andere Unterseite in der Regel nicht ändert. Möchte jemand eine bestimmte Unterseite verlinken, ein Lesezeichen darauf setzen oder in einer E-Mail angeben, so steht er in der Regel vor einem Dilemma. Verlinkt er das Frameset, wird die im Frameset definierte Startseite statt der gewünschten Unterseite geladen, gibt er die direkte Adresse an, so fehlen die übrigen Komponenten der Seite wie etwa die Navigation. Gerade für technisch wenig versierte Benutzer, die an das Grundprinzip „Eine Adresse = Eine Seite“ gewöhnt sind, ist dies verwirrend.
Dieses Problem kann jedoch teilweise mittels JavaScript umgangen werden, da JavaScripte erkennen können, ob eine Seite im Frameset geladen ist oder nicht, und so entsprechend reagieren können, um das Frameset nachzuladen.[2]
Erfassung durch Suchmaschinen
Auch Suchmaschinen haben mit Frames Probleme. Zwar erfassen sie meist die Inhalte auf Frameunterseiten und verlinken diese, die Auffindbarkeit der Startseite des Webangebots leidet allerdings. Dies rührt daher, dass Frameset-Dokumente keinen relevanten Inhalt besitzen.
Barrierefreiheit
Insbesondere beim Einsatz von Screenreadern zum Auslesen der vom Browser dargestellten Inhalte stellen Frames ein Problem dar, da die Nutzer sich zwischen den einzelnen Frames nur Anhand deren Bezeichnung orientieren können. Ältere Screenreader, zum Beispiel solche, die nur mit dem Browser Lynx oder anderen Textbrowsern zusammenarbeiten, konnten Frames nicht darstellen, modernere Programme können mit den meisten aktuellen Browsern zusammenarbeiten, so dass Frames technisch keine Hürde mehr darstellen.[3]
Zueigenmachen von fremden Webseiten
Es ist möglich, eine fremde Webseite in das eigene Frameset einzubinden. Das wird allerdings von dem betroffenen Webseitenbetreiber meist nicht gerne gesehen. Für diese Thematik gab es bereits mehrere Gerichtsurteile, so sah das Landgericht Düsseldorf das Framing von fremden Seiten als zulässig an[4], das Landesgericht in Steyr (Österreich) wiederum das Einbinden fremder Seiten in das eigene Frameset als Wettbewerbswidrigkeit.[5]
Verhindern kann man das Einbinden der eigenen Webseite in ein Frameset durch JavaScript, ähnlich wie bei dem Adressierungsproblem. Derartige JavaScripte werden auch als Framekiller oder Framebuster bezeichnet.
Bitte den Hinweis zu Rechtsthemen beachten! Alternativen
Mit verschiedenen Techniken lassen sich heute alle Vorteile von Frames auch anders realisieren. Serverseitige Techniken, etwa Server Side Includes, können dazu dienen, dass Seitenteile wie das Menü zentral an einer Stelle gepflegt, aber auf beliebig vielen Unterseiten eingebunden werden können. Mit Cascading Style Sheets können Teile eines HTML-Dokuments scrollbar gestaltet werden. Mittels Ajax ist es möglich, Daten vom Server nachzuladen und die Seite damit umzugestalten.
Viele Experten aus dem Bereich der Gebrauchstauglichkeit (usability) raten ausdrücklich vom Einsatz von Frames ab. Auch lässt sich beobachten, dass professionelle Seiten nur selten Frames einsetzen, aber auch bei privaten Webseiten werden immer seltener Frames verwendet.
Siehe auch
Einzelnachweise
- ↑ HTML5 differences from HTML4 - W3C Working Draft 24 June 2010 (en)
- ↑ SelfHTML: Datei dynamisch in Frameset laden
- ↑ Jan Eric Hellbusch: Barrierefreies Webdesign - Der Einsatz von Frames, gesehen am 20. November 2010
- ↑ Gerichtsurteil des Landgerichtes Düsseldorf
- ↑ Gerichtsurteil des Landesgerichtes Steyr
Weblinks
Wikimedia Foundation.