Frame (HTML)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Übersicht

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.

Entwicklung[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Adressierung[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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] Beim Inlineframing ist nach Ansicht des Kammergerichts auf fremde Urheber- und Leistungsschutzrechte zu achten, weshalb es beispielsweise nicht ohne weiteres zulässig ist, fremdes Kartenmaterial im Wege des Framing einzubinden.[6] Soweit das Framing zu einem erhöhten Datentransfervolumen führt, kommt eine Haftung unter dem Gesichtspunkt des Eingriffs in das Recht des eingerichteten und ausgeübten Gewerbebetriebes in Frage. Der Bundesgerichtshof legte im Mai 2013 die Frage zur urheberrechtlichen Zulässigkeit des Framing dem Gerichtshof der Europäischen Union zur Entscheidung vor.[7]

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.

Alternativ kann im Webserver der Response Header X-Frame-Options gesetzt werden, der im Browser dafür sorgt, daß die Webseite gar nicht in einem Frameset angezeigt (X-Frame-Options "DENY") bzw. nur in einem Frameset, das vom gleichen Webserver ausgeliefert wurde (X-Frame-Options "SAMEORIGIN"). Bei Shared Hostern, bei denen ein Zugriff auf die Webserver-Konfiguration nicht möglich ist, läßt sich der Response Header auch in der .htaccess Datei setzen ("Header append X-FRAME-OPTIONS DENY").

Alternativen[Bearbeiten]

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[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. HTML5 differences from HTML4 - W3C Working Draft 24 June 2010 (en)
  2. SelfHTML: Datei dynamisch in Frameset laden
  3. Jan Eric Hellbusch: Barrierefreies Webdesign - Der Einsatz von Frames, gesehen am 20. November 2010
  4. LG Düsseldorf, Urteil vom 29. April 1998, Az. 12 O 347/98, Frames I, Volltext.
  5. LG Steyr, Einstweilige Verfügung vom 28. Juni 2002, Az. 26 Cg 58/02b, Volltext.
  6. KG Berlin, Urteil vom 21. März 2012, Az. 24 U 130/10, Volltext.
  7. I ZR 46/12

Weblinks[Bearbeiten]

Rechtshinweis Bitte den Hinweis zu Rechtsthemen beachten!