Frameloader
Als Frameloader wird generell der Teil eines Framesets bezeichnet, der die Frames eines Framesets lädt und für Nutzer sichtbar macht. HTML Frames und iFrames dienten zur Strukturierung von Inhaltselementen, sie sind mittlerweile jedoch veraltet. Der Frameloader hatte die Aufgabe, die Inhaltselemente vom Server zu laden, sodass der Nutzer alle relevanten Frames angezeigt bekommt. Durch diese Art der Modularisierung konnte nicht nur die Bandbreite der Datenübertragung gespart werden, sondern Nutzer konnten auch Websites erstellen, ohne serverseitige Programmier-, Skript- und Auszeichnungssprachen zu beherrschen. Die Darstellung mit Frames hatte zwar Vorteile, aber die Einbindung mehrere modularer Inhaltselemente stellte sich für Suchmaschinen und teilweise auch für Nutzer als problematisch heraus. Heutzutage gilt die Technik als deprecated (deutsch: veraltet) und wird kaum noch verwendet. Das Prinzip des Ladens von Inhaltselementen per Frameloader kommt jedoch beim HTML Rendering nach wie vor zum Einsatz.[1]
Allgemeine Informationen zum Thema
Netscape entwickelte die Technik für den Browser Navigator 2.0, der im März 1996 veröffentlicht wurde. Zu Beginn der Browserkriege waren Frames eine moderne Technik, die einige Vorteile gegenüber anderen Browsern mitbrachte. Konkurrierende Techniken wie CSS und JavaScript sorgten im Navigator jedoch für Probleme und die Weiterentwicklung wurde eingestellt, als der Internet Explorer und andere Browser wesentlich mehr Marktanteile auf sich vereinen konnten. Der Netscape Browser wurde ab Version 4.0 Schritt für Schritt in das quelloffene Mozilla Projekt überführt. Der Support für den Netscape Navigator endete im März 2008.
Funktionsweise
Ein Frame (deutsch: Rahmen) ist ein Bereich eines HTML Dokumentes, der andere Dokumente einbinden und referenzieren kann. Welche Frames zusammen dargestellt sollen, bestimmt das sogenannte Frameset. Dieses wird vom Frameloader geladen. So konnten mehrere HTML Dokumente und Inhaltselemente dieser Dokumente dargestellt werden. Somit steht nicht eine URL für eine HTML Website – wie es im Internet eigentlich üblich ist –, sondern es ist durchaus möglich, dass eine Website mehrere URLs beinhaltet. Diese Eigenschaft von Frames kann für Nutzer irritierend sein, auch wenn sie technisch gesehen Vorteile hat: Wenn zum Beispiel eine Navigation mit Menüstruktur ein einzelnes Dokument ist, wird dieses einfach in anderen Seiten referenziert, sodass das Menü nicht bei jedem Aufruf einer Seite neu geladen werden muss. Auch externe Inhaltselemente ließen sich mit der Frame-Technik einbinden. Ein Beispiel für ein einfaches HTML Dokument, das Frames in der Frameset-Definition beinhaltet:[2]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <HTML> <HEAD> <TITLE>Ein einfaches Frameset Dokument</TITLE> </HEAD> <FRAMESET cols="20%, 80%"> <FRAMESET rows="100, 200"> <FRAME src="inhalte_von_frame1.html"> <FRAME src="inhalte_von_frame2.gif"> </FRAMESET> <FRAME src="inhalte_von_frame3.html"> <NOFRAMES> <P>Dieses Frameset Dokument enthält: <UL> <LI><A href="inhalte_von_frame1.html">Beispielinhalte</A> <LI><IMG src="inhalte_von_frame2 .gif" alt="Ein animiertes Bild"> <LI><A href="inhalte_von_frame3.html">Mehr Beispielinhalte</A> </UL> </NOFRAMES> </FRAMESET> </HTML>
Sowohl für Suchmaschinen als auch Nutzer bedeutet die Verwendung von Frames einige Schwierigkeiten:
- Zum einen gilt bei Frames nicht das Prinzip, dass für jede Website eine URL zum Einsatz kommt. Im Browser des Nutzers wird lediglich die Definition des Framesets angezeigt, die der Frameloader lädt, nicht aber eine Unterseite. Nutzer können die aktuelle Seite weder verlinken noch bookmarken oder per Email verschicken. Der Grund liegt darin, dass das Frameset gewissermaßen die Startseite bildet und ein Einstieg auf Unterseiten kann dazu führen, dass das Frameset nicht durch den Frameloader geladen wird. Dies wird auch als das Adressierungsproblem von Frames bezeichnet: Ein Einstieg auf Unterframes kann dazu führen, dass Navigationselemente nicht geladen werden und der Nutzer nicht mit der Website interagieren kann. Er sieht nur das, was durch den einzelnen Frame geladen werden sollte. Das damit verknüpfte Frameset wird unter Umständen nicht abgerufen, wenn der Frameloader dieses nicht richtig lädt.
- Zum anderen können Suchmaschinen Framesets nicht auslesen, da sie im Grunde keinen Inhalt besitzen. Das Frameset bestimmt zwar die Inhaltselemente und Dokumente, die referenziert werden sollen, es beinhaltet aber keinen Content. Der Content befindet sich in den referenzierten Unterseiten und nicht in der Definition des Framesets oder im Frameloader. Deshalb können Suchmaschinen die Framesets nicht automatisiert verarbeiten, inhaltlich evaluieren und einem Index zuordnen. Suchmaschinen verstehen die Instruktionen, wie das Frame-Layout aufgebaut werden soll, häufig nicht oder nur unzureichend.[3]
- Abhilfe schafft hier das Noframes Tag, das deskriptive Informationen über die Dokumente enthält und für die Suchmaschinen zur Verfügung stellt. Mit dem Noframes Tag können alternative Inhaltsvarianten von Websites angegeben werden, sodass Nutzer und Suchmaschinen mit diesen Websites etwas anfangen können, falls Frames nicht korrekt geladen werden. Auf diese Weise wird ein HTML-Rendering möglich, auch wenn der Browser oder der Spider von Suchmaschinen keine Frames unterstützt. User Agents (zum Beispiel Clients), die keine Frames verarbeiten können, erhalten eine alternative Version der Inhalte. Mitunter werden clientseitige Veränderungen des Dokumentes per JavaScript vorgenommen.[4]
Praxisbezug
Aus Sicht der Usability sind Frames mit weiteren Problemen behaftet. Unter bestimmten Umständen können Kompatibilitätsprobleme auftreten. Der Frameloader kann zwischen drei und fünf Frames laden, ohne dass ein Screenreader diese Inhaltselemente oder Dokumente durcheinander bringen würde. Sobald mehrere Frames zum Einsatz kommen, kann die Darstellung unübersichtlich werden. Bei mobilen Endgeräten mit kleinen Displays liegt die Grenze für die maximalen Frames noch niedriger, da nicht genug Platz zur Anzeige vorhanden ist. Nutzerinteraktionen können mitunter unmöglich werden – insbesondere dann, wenn Unterseiten aufgerufen werden, aber die Navigation sich in einem anderen Frame befindet. Zudem wird die Bandbreite bei mobilen Endgräten durch mehrere Client- und Serveranfragen für die jeweiligen Elemente teils sehr stark belastet. Ein barrierefreier Einsatz von Frames ist nur möglich, wenn diese Schwierigkeiten bereits in der Entwicklung einer Website beachtet werden.[5]
Bedeutung für die Programmierung
Die Verwendung von Frames, Framesets und Frameloadern wird im World Wide Web nicht mehr empfohlen. Sie sollten nur zum Einsatz kommen, wenn keine alternative Technik zur Stelle ist. Generell verstoßen Frames gegen zwei zentrale Eigenschaften des modernen Internets: Einerseits beachten sie nicht das Prinzip, dass jede URL eine Website sein sollte und somit eindeutig referenziert wird. Andererseits befolgen sie nicht die Trennung zwischen Inhalt und Layout, wie es beispielsweise bei wohlgeformten HTML-Dokumenten mit CSS-Layout der Fall ist. Für die meisten Anwendungsszenarien gibt es bessere Möglichkeiten der technischen Umsetzung. Falls Frames doch verwendet werden, ist es empfehlenswert, die Vorgaben von Suchmaschinen und verschiedene Usability-Regeln einzuhalten. Dazu zählt zum Beispiel eine Bearbeitung und Optimierung der Noframe-Bereiche mit dem entsprechenden Metatag sowie ein grundsätzliches Verständnis der Arbeitsweise mit Frameloadern, Framesets und einzubindenden Frames. Zudem: Wenn externe Inhalte eingebunden werden, kann ein illegales „Zu-eigen-machen von Websites“ vorliegen. Dies kann rechtliche Konsequenzen nach sich ziehen.[6]
Einzelnachweise
- ↑ How WebKit Loads a Web Page webkit.org. Abgerufen am 16.09.2016
- ↑ Frames w3.org. Abgerufen am 16.09.2016
- ↑ Frames support.google.com. Abgerufen am 16.09.2016
- ↑ Search Engines and Frames searchenginewatch.com. Abgerufen am 16.09.2016
- ↑ Der barrierefreie Einsatz von Frames barrierefreies-webdesign.de. Abgerufen am 16.09.2016
- ↑ Bundesgerichtshof zur urheberrechtlichen Zulässigkeit des "Framing" juris.bundesgerichtshof.de. Abgerufen am 16.09.2016
Weblinks
- Definition Frameloader
- Definition Frameloader
- Kurze Erklärung Frameloader
- Frames in HTML
- Spezifikation zu Frames
- Kritik an Frames