Frames als Instrument zur Webgestaltung Pro und Kontra

Eine Ausarbeitung von Philipp Hauer. Ursprünglich als Präsentation konzipiert. Erstellt am 03.12.2005. Erstmals gehalten am Richard-Wossidlo-Gymnasium. ©

Diesen Artikel gibt es auch als Powerpoint Präsentation.

Inhaltsangabe

  1. Was sind Frames?
  2. Quellcode eines Framesets
  3. Diverses
  4. Links in Frames
  5. Pro - Vorteile von Frames
  6. Kontra - Nachteile von Frames
  7. Streitfall Frames
  8. Fazit
  9. Quellen

Was sind Frames?

Standardaufbau eines Frameseite

Frames (engl. Rahmen) teilen das Browserfenster in Teilbereiche ein. In jedem Teilbereich (Frame) wird ein anderes HTML-Dokument dargestellt. Die Gesamtheit der Frames bezeichnet man als Frameset. In diesem Frameset wird das Aussehen und die Eigenschaften der Frames definiert. Z. B. die Anzahl der Frames, die Größe der jeweiligen Frames, die Ränder (sichtbar oder unsichtbar) oder ob der Scrollbalken sichtbar sein soll bzw. ob überhaupt in dem Frame gescrollt werden soll. Diese Informationen werden in einer separaten Datei gespeichert. Und das ist die Datei, die wir aufrufen und die in der Adressleiste des Browser als URL dargestellt wird. Dabei ist es egal, wie sehr man auf der Webseite herumsurft man bleibt auf dieser Datei. Dazu später mehr.

In der Abbildung ist ein oft anzutreffender Standardaufbau einer Frameseite zu sehen. Hierbei wird die Seite in 3 Teilbereiche/Frames eingeteilt, in denen jeweils 3 verschiede HTML-Dokumente (Logo, Navigation, Inhalt) dargestellt werden.

Quellcode eines Framesets

Der prinzipielle Quellcode eines Framesets sieht so aus:

<frameset [cols oder rows]="*,*">
<frame src="[HTML-Datei]" name="[Verweisname]" ...>
<frame src="[HTML-Datei]" name="[Verweisname]" ...>
</frameset>
<noframes>...</noframes>

Erklärung: Der Frameset-Tag öffnet und schließt die Definition von Frames. In ihm wird mittels cols (engl. Spalten) und rows (engl. Reihen) die Größe und Anzahl der Frames definiert. Innerhalb des Frameset-Tags wird mittels des Frame-Tags festgelegt, welche Datei in dem jeweiligen Frame geladen werden soll. Wichtig ist auch, dass man dem Frame noch einen Namen gibt, was wichtig für die spätere Linksetzung ist. Des Weiteren werden im Frame-Tag noch definiert,...

  • ...ob die Ränder sichtbar sein sollen,
  • ...ob die Ränder vom Benutzer verschiebbar sein sollen,
  • ...ob die Scrollbalken sichtbar sein sollen,
  • ...ob das Scrollen in dem Frame überhaupt möglich sein soll und
  • ...ob ein bestimmter Abstand des Inhalts zum Rahmen eingehalten werden soll.

Wenn der Browser keine Frames interpretieren kann (was heute kaum noch der Fall ist), wird der Bereich zwischen den noframes-Tags dargestellt. Meistens ist das ein Spruch wie "Ihr Browser unterstützt keine Frames". Geben sie das mal bei Google ein...

Diverses

Auch ganze Internetseiten können in einem Frame eingebunden/dargestellt werden. Die Suchmaschinen bedienen sich oft dieser Möglichkeit. Wenn man zum Beispiel nach Bildern bei Google sucht, und ein Bild anwählt, wird die Website mit dem Fund in einem Frame dargestellt. Das Dokument im oberen Frame liegt noch auf dem Googleserver, während im unterem Frame die Internetseite dargestellt wird, in dem das gesuchte Bild gefunden wurde. Hier kann man sich das am Beispiel anschauen. Welch eine Ironie, dass ausgerechnet Suchmaschinen sich der Frametechnik bedienen... ;-) Aber mehr dazu bei den Nachteilen von Frames.

Zur Geschichte: Frames wurden erstmals von der Firma Netscape mit ihren Navigator 2.0 eingeführt. Microsoft zog mit der Version 3.0 ihres Internet Explorers nach. Andere jüngere Browser wie Opera oder Firefox unterstützen Frames ab Version 1.0 an.

Links in Frames

Link in Frames

Links in Frames beinhalten nicht nur den Verweis auf das Dokument, das geöffnet werden soll, sondern auch auf den Frame in dem es geöffnet werden soll (mittels target-Tags). Dieser Frame wird mit seinem Namen, den man ihm im Frameset gegeben hat, angesprochen.

Es wird also deutlich, dass beim Klicken auf ein Link in der Navigation, nur das anzuzeigende Dokument im Inhaltsframe gewechselt wird. Die beiden anderen Frames (Logo und Navigation) als solche bleiben, wie sie sind.

Pro - Vorteile von Frames

  • Modularisierung. Die parallele Darstellung von mehreren Einzeldokumenten ist ein wichtiger Vorteil von Frames. Dieser "Bausteinbau" einer Website ist clientseitig (also beim Benutzer durch den Browser) nur mit Frames möglich. Ansonsten geht das nur mit serverseitigen Sprachen wie PHP oder SSI.
    • Bestimmte Bereiche sind ständig sichtbar. Dokumente in Frames lassen sich separat vom Rest scrollen, sodass zum Beispiel das Firmenlogo oder Werbebanner ständig sichtbar ist. Wobei dieser Punkt nicht immer ein Indikator für eine Frameseite seien muss. Man kann immer sichtbare Bereiche auch mittels CSS realisieren, was aber mehr Knowhow vom Webdesigner erfordert.
    • Zentrale Verwaltung von HTML-Dokumenten. Man hat z. B. für die Navigation nur ein Dokument, welches man bei änderungen nur entsprechend modifizieren muss und schon ist die änderung auf der gesamten Internetseite. Man muss also nicht Dokument für Dokument öffnen und editieren.
  • Einfach und schnell: Verwaltung und Editierung. Wie bereits gesagt, sind Internetseiten mit Frames einfach zu verwalten, da grundlegende änderungen (z. B. an der Navigation) nur an einer Datei durchgeführt werden müssen.
  • Parameterverwaltung. Im Frameset legt man das grobe Layout (Position von Navigation, Logo etc.) fest. Diese Informationen müssen deshalb nicht mehr von Dokument zu Dokument weitergegeben werden.
  • Stabile Interpretation durch Browser. Frames werden meist in gleicher Weise von den verschiedenen Browsern interpretiert. Das ist bei Tabellen-Layout und CSS leider nicht immer der Fall.

Kontra - Nachteile von Frames

  • Suchmaschinenunfreundlich. Die Suchmaschinenunfreundlichkeit ist der größte Nachteil von Frames, weil laut Statistik für rund 6 Mio. Internetusern Suchmaschinen das wichtigste Mittel zum Surfen ist.
    • Spiders der Suchmaschinen finden keinen Inhalt, sondern nur Verweise auf die einzubindenden HTML-Dokumente. Die Suchmaschinen bedienen sich Spiders (oder Robots, Crawlers), kleinen flinken Programmen, die das Internet nach Inhalt durchsuchen und die entsprechenden Seiten in ihrer Datenbank abspeichern. Doch wenn die Spider nun auf die Frameset-Datei kommt, findet sie - bis auf den Titel - keinen Inhalt, sondern nur die Verweise auf die darzustellenden Dokumente. Das Frameset ist gewissermaßen "ein toter Container, der nichts von seinem Inhalt weiß" [aus 2]. Ergo wird die wichtigste Seite zur korrekten Darstellung einer Frameseite, die Frameset-Datei, nicht indexiert.

      Manche Suchmaschinenspider (z. B. Googlecrawlers) folgen den Verweisen zu den einzubindenden Dokumenten im Frameset. Diese Dateien als solche enthalten nun Inhalt und Keywords, wodurch sie indexiert werden. Nur wenn jemand durch die Suchmaschine auf diese einzelne Inhaltsseite kommt, sieht sich dieser in einer Sackgasse wieder: Er hat zwar Inhalt, aber ohne Navigation, folglich kann er sich auf der entsprechenden Internetseite nicht weiterbewegen. Die logische Konsequenz ist ein Klick auf den Zurück-Button des Browsers.

      Wobei man hierbei anmerken muss, dass man diese Sackgassensituation verhindern kann. Es ist möglich mittels Javascript (häufig verwendet) oder PHP (besser) die anderen Frames (z. B. die Navigation) automatisch nachzuladen, sodass man nie ohne Navigation dasteht. Leider kommt diese Technik selten zum Einsatz, da nicht jeder Webdesigner Javascript oder gar PHP beherrscht. Und wenn der Webautor schon PHP kann, gibt es für ihn viel bessere Möglichkeiten zum Bau einer Website als Frames (PHP-Includes). 
  • Nicht zukunftssicher, da
    • Kleingeräteunkompatibel (PDAs/Handys). Mit zunehmenden Stand der Technik werden auch Handys ("Web 'n' Walk Handys", iPhones) und PDAs zum Surfen im Internet genutzt. Nur ist auf diesen Geräten aufgrund des kleinen Displays wenig Platz zur Darstellung einer Webseite. Da aber jeder Frame für sich ein wenig Platz braucht, werden Frames heute kaum von den handyinternen Browsern unterstützt.
  • Fatale Fehler (besonders bei Links). Jedem Webautor unterläuft einmal ein Fehler, häufig beim Verlinken. Das ist bei normalen Seiten auch nicht so schlimm, da man ja immer noch den Zurück-Button des Browser hat. Doch bei Frames kann es - je nach Browser und Art des Verweises - bei falschen Verlinken zum kompletten "Einklappen" des Frames kommen. Wenn beispielsweise ein Autor auf eine Datei für den Inhaltsframe verweist, die es nicht gibt, kommt es vor, dass der gesamte Inhaltsframe einfach verschwindet. Ist das einmal geschehen, hilft kein wildes Anderen-Link-in-Navigation-Angeklicke oder Zurück-Button-Gedrücke. Der Frame bleibt verschwunden. Der Otto-Normal-Verbraucher weiß nun keinen Ausweg mehr und verlässt frustriert die Internetseite.      
  • Benutzerunfreundlich (non-usability). Gründe:...
    • Keine Transparenz für den User. Für den Benutzer ist es nicht auf den ersten Blick ersichtlich, welche Dateien gerade dargestellt werden bzw. wo diese liegen (Ordnerhierachie, Server). Die URL ändert sich ja nicht (Frameset). Vielleicht wird längst ein Dokument einer ganz anderen Internetseite angezeigt und der User (...Laie) merkt davon nichts.
    • Tastatur als Bedienungselement nur bedingt einsetzbar. Besonders bei älteren Browsers muss man oft erst in einen Frame klicken (ihn aktivieren), um die Tastatur passabel einsetzen zu können.
    • Drucken. Muss man im Inhaltsframe besonders viel scrollen, ist dort also besonders viel Inhalt im Vergleich zu der restlichen Seite, kann es passieren, dass nicht alles gedruckt wird. Der Inhalt wird dann einfach abgeschnitten.

      Zusätzlich gab es bei älteren Browsern das "Problem", dass immer nur ein Frame für sich ausgedruckt werden konnte und nie die gesamte Internetseite (mit Navigation). Aber wer will schon die Navigation ausdrucken?
  • Framesseiten haben nur einen Titel. Da man bei Frameseiten die ganze Zeit auf ein und derselben Frameset-Datei bleibt, wird nur der Titel der Frameset-Datei angezeigt. Das ist insofern schade, als dass ein wichtiges Mittel zur Kennzeichnung des gerade angezeigten Inhalts verloren geht. Nebenbei ist der Titel einer Seite ein wichtiger Anhaltspunkt für die Suchmaschinenindexierung...

Streitfall Frames

  • Performance (Ladezeiten). Oft werden die geringen Ladezeiten von Frameseiten als Pro-Argument angeführt. Die Begründung lautet, dass nach einmaligen Laden der gesamten Internetseite nur noch im Inhaltsframe neue Dokumente geladen werden und die anderen Frames (z. B. die Navigation) nicht mitgeladen werden und deshalb keinen Traffic verursachen. Das ist zwar korrekt, bei normalen Internetseiten jedoch befinden sich die großen Elemente der Navigation (Bilder) nach einmaligen Laden im Cash-Zwischenspeicher des Browsers und müssen demnach auch nicht noch mal geladen werden. Lediglich der Text wird immer neugeladen, aber das sind winzige Datenmengen, die praktisch nicht ins Gewicht fallen.

    Und wenn man nun einmal so theoretisch denkt, kann man auch noch anführen, dass jedes eingebundene HTML-Dokument im Frameset einen sinnlosen Head-Bereich hat. Im Head-Bereich werden Informationen über das Dokument gespeichert, die nicht dargestellt werden (z. B. Titel, Keywords, Autor...). Diese Informationen werden bei Frameseiten zwar geladen, aber gar nicht genutzt, da nur der Head-Bereich des Frameset-Dokuments zählt. Es entstehen also unnötige Ladezeiten. Wie gesagt, sehr theoretisch.

    Überhaupt spielt mit zunehmender Verbreitung des DSL-Anschlusses das Performenceargument praktisch keine Rolle mehr. Ob ich nun ein Bruchteil einer Sekunde mehr warten muss oder nicht, darauf kommt es dann auch nicht mehr an.
  • Bookmarks und Deeplink nicht setzbar. Da man bei Frameseiten permanent auf der Frameset-Datei bleibt und sich damit die URL nie ändert, ist das bookmarken (Favoriten/Lesezeichen setzten) oder das setzten eines Deeplinks (Link zu einer Unterseite) nicht möglich. Man würde beim Aufrufen des Deeplink oder Bookmarks immer wieder auf der Startseite landen, da nur die absolute URL der Frameset-Datei gespeichert wird. Und in dieser ist festgelegt, welche Seiten zuerst dargestellt werden soll.

    Jedoch begrüßen manche Webautoren diese Konditionen, da sie wollen, dass der Besucher immer über die Startseite geht. Manche wollen den Besucher auch nicht mit ihrer Ordnerstruktur belästigen.
    Wie auch immer: Es bleibt benutzerunfreundlich.

Fazit

Geeignet für...

Frames eignet sich für Anfänger ohne Kenntnissen von serverseitigen Sprachen (wie PHP oder SSI), da man wichtige Dokumente zentral verwalten kann. Dadurch bieten Frames große Arbeitserleichterung und Einfachheit. In der Praxis greifen deshalb oft Privatpersonen und Firmeninhaber, die ihre Homepage noch selber erstellen, auf die Frametechnik zurück.

Ungeeignet für...

Professionelle Webagenturen vermeiden die Frametechnik primär aus Gründen der Benutzer- und Suchmaschinenunfreundlichkeit. So könnten es sich E-Commerce-Firmen (= Firmen, die über das Internet verkaufen) wie Ebay oder Amazon nicht leisten ihre Webseite mit Frames zu bauen, da ihnen so den Käufern, die von den Suchmaschinen kommen, verloren gehen. Und das sind nicht wenige. Zugegeben, Ebay und Amazon haben das aufgrund ihrer Berühmtheit mittlerweile nicht mehr nötig, aber es gibt genügend kleinere Firmen, zu denen viele Kunden durch Suchmaschinen finden (Suchmaschinen als Käuferquelle). Würden diese nun mit Frames arbeiten, würden sie kaum über Suchmaschinen gefunden werden und somit weniger Umsatz machen. Kein Umsatz bedeutet kein Geld. Kein Geld bedeutet keine Existenz. Treiben wie das dramatisch weiter, können also Frames eine menschliche Existenz zugrunde richten... ;)

Gleiches gilt für Informationsseiten wie Wikipedia. Wikipedia lebt ja gewissermaßen von den Besuchern durch Suchmaschinen. Tausende von Internetusern kommen durch Google auf die zahllosen Artikel von Wikipedia. Wikipedia ist nahezu vollständig von Google indexiert (und das sind extrem viele Artikel) und stehen meistens immer auf den ersten Seiten bei einer Suchabfrage. Man sollte sich hierbei nicht zu weit aus dem Fenster lehnen, aber Frames würden der Google-Popularität Wikipedias definitiv nicht zuträglich sein.

Quellen

  • [1] Tobias Schmidbauer: "Frame (HTML)". URL: http://de.wikipedia.org/wiki/Frame_%28HTML%29 [Stand: 21.11.05]
  • [2] Michael Nahrath: "Warum Frames out sind (und es schon immer waren … )". URL: http://www.subotnik.net/html/frames.html [Stand: 21.11.05]
  • [3] Walter B. Walser: "Frames: Vor- und Nachteile". URL: http://www.kundennutzen.ch/frames.shtm [Stand: 21.11.05]
  • [4] André Leopold: "Frames". URL: http://www.greatbelow.de/html/frames.html [Stand: 21.11.05]
  • [5] Hubert Partl: "Frames". URL: http://www.boku.ac.at/htmleinf/hein52.html#noframes [Stand: 21.11.05]
  • [6] Paul Kröning: "Vor- und Nachteile von Frames". URL: http://www.webinteger.net/magazin/articles/webentwicklung- allgemein/vor-und-nachteile-von-frames/ [Stand: 21.11.05]
  • [7] Chio (Christian Josef) Maisriml: "Vorteile und Nachteile von Frames". URL: http://www.site-check.cc/frames- optimieren/frames-vornachteile.html [Stand: 21.11.05]
  • [8] Mirko Westermeier: "Frames-Dialektik". URL: http://www.memowe.de/Frames-Dialektik/ [Stand: 21.11.05]
  • [9] Jens Gottfried: "PHP: Frames nachladen". URL: http://www.drweb.de/php/php_frames.shtml [Stand: 21.11.05]
  • [10] Axel Pratzner: "Frames – aus dem Rahmen fallen". URL: http://www.html-seminar.de/howto-frames.htm [Stand: 21.11.05]
  • [11] Dr. Joachim Wiesemann: "Optimiert für ... schlechte Webseiten". URL: http://www.bestviewed.de/webdesign/bad.html [Stand: 21.11.05]
  • [12] fabweb.ch-Redaktion: "Webdesign". URL: http://www.fabweb.ch/ [Stand: 21.11.05]
  • [13] Thomas Tausend: "Seitenerstellung im Internet: HTML-Grundlagen". Studienheft. ILS Institut für Lernsysteme Hamburg.
  • [14] Martina Pflüger-Carnaghi: "Screen- und Webdesign". Studienheft. ILS Institut für Lernsysteme Hamburg.