08
Jun 2009

Frames-Dialektik

Frames-Dialektik

Frames sind im Internet sehr häufig anzutreffen. Dem Anfänger erscheinen sie sinnvoll und praktisch, wenn man etwas genauer hinschaut, dann bemerkt man Risiken und Usability-Mängel an diesem Konzept.

* Was sind Frames?
*
Vorteile von Frames
*
Nachteile selbiger
*
Fazit
*
Links

Was sind Frames?

Frames sind einzelne Rahmen, in die man ein Browserfenster einteilen kann. Das bedeutet, dass der Bereich, der für die Darstellung zuständig ist, im sogenannten Frameset in definierte Bereiche unterteilt wird, in welchen wiederum ein Dokument geladen wird. Das geht etwa so vonstatten:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>
   <head>
      <title>Frameset-Demo</title>
   </head>
   <frameset cols="200,*">
      <frame src="navigation.html" name="navi">
      <frame src="startseite.html" name="main">
      <noframes>
         Ihr Browser unterstützt keine Frames.<br>
         Rufen Sie die
         <a href="navigation.html">Navigation</a>
         manuell auf!
      </noframes>
   </frameset>
</html>

Bei diesem Beispiel wird der Darstellungsbereich des Browsers in zwei Spalten eingeteilt, die eine ist 200 Pixel breit, die andere nimmt den Rest des Platzes ein (cols="200,*"). In dieser <frameset>-Definition stehen dann die einzelnen <frame>-Elemente, in diesem Fall zwei, wir haben ja auch zwei Rahmen.

Das src="..."-Attribut gibt die Seite an, die in diesem Frame geladen werden soll, das name="..."-Attribut gibt dem Frame einen Namen, unter dem er als target="framename" (Ziel) bei einem Verweis direkt angesprochen werden kann.

Im <noframes>-Bereich können Sie angeben, was der Browser darstellen soll, wenn er keine Frames beherrscht. Dies sollte eine echte Alternative sein, sie können etwa, wie im Beispiel, die Navigation im linken Frame manuell anbieten.

Weiterführende Informationen zur Verwendung eines Framesets:
HTML 4.01 Specification: Frames und SelfHTML: Frames.

Was sind die Vorteile von Frames?

Frameseiten sind leicht pflegbar

Das Problem vieler Anfänger ist es, ihr Internetangebot übersichtlich zu strukturieren. Sie stoßen dabei oft auf das Problem, dass sie auf jeder Seite eine funktionierende Navigation, ihr Logo und eventuelle Designelemente neu einbinden müssen. Wenn sich am Design der Seite etwas ändert, oder neue Navigationspunkte dazukommen, müsste jede Seite neu geschrieben werden.

Mit Frames ist hat man die Möglichkeit, die Navigation und/oder Designelemente wie Logos etc. fest im Browser einzubinden, so dass der sie von jeder Unterseite aus verfügbar sind. Bei Änderungen etwa an der Navigation muss nur eine einzige Datei editiert werden.

Das Problem lässt sich mit serverseitigen Scriptsprachen mehr als elegant lösen, indem man einfach die Seiten auf dem Server dynamisch generiert. Das geht zum Beispiel mit PHP oder mit SSI.

Wenn keine serverseitigen Scriptsprachen zur Verfügung hat, kann man die Seiten immer noch lokal generieren und dann als statische auf den Server laden. Man kann hier sowohl lokal einen Webserver die Seiten generieren lassen, als auch eine Includetechnik verwenden, die bei gängigen Editoren implementiert ist. Dabei werden Textbausteine in Seiten eingefügt. Werden diese Textbausteine geändert, kann man auf Knopfdruck alle anderen Seiten des Projekts aktualisieren. Die Freeware HTML-Editor Phase 5 von Ulli Meybohm kann konnte das sehr komfortabel.

Frameseiten laden schneller

Da beim Aufruf einer Unterseite in einem Frameset nur genau diese Datei angefordert und geladen werden muss, ist die Ladezeit kürzer. Feste Elemente der Seite wie etwa die Navigation werden nicht mitgeladen und verursachen keinen unnötigen Traffic.

Dies ist aber nur ein kleiner Vorteil, da sich die durch Navigation und andere konstante Seitenelemente ohne Frames neu zu ladenden Daten entweder schon im Browsercache befinden (Bilder) oder sehr klein sind (ASCII-Text). Die neu zu ladende Datenmenge ist auch durch die immer schneller werdenden Verbindungen zum Internet vernachlässigbar gering.

Andererseits ist es so, dass ein Frameset aus vielen Dateien besteht, die alle einzeln beim Server angefordert werden müssen, und auch alle einen eigentlich überflüssigen HEAD-Bereich haben. Das ist ein recht hoher Aufwand, um optisch nur eine Seite zu erzeugen. Letzendlich greift das Argument der Ladezeit also nicht und steht deshalb auch direkt vor den Nachteilen.

Nachteile von Frames

Suchmaschinen können Unterseiten eines Framesets nicht (fehlerfrei) indizieren

Suchmaschinen-Roboter folgen den Links einer Internetseite. Das Frameset-Dokument enthält aber überhaupt keinen Inhalt und auch keine Links zu Unterseiten, denen die Suchmaschinen folgen könnten. Das einzige, was die Suchmaschine dann zu sehen bekommt, ist meist ein überhaupt nicht hilfreicher Satz wie “Diese Seite verwendet Frames, Ihr Browser aber nicht.“.

Eine spontane Suche bei Google nach dem Suchstring “Diese Seite verwendet Frames” förderte 1.180.000 Ergebnisse (5. August 2004) zu Tage. Die Autoren dieser Seiten wissen offenbar nicht, wie man mit einem Frameset umgeht und hätten es bestimmt lieber gesehen, von Suchmaschinen bei der Suche nach den richtigen Begriffen gefunden zu werden.

Wenn eine Suchmaschine doch eine Unterseite eines Frameset indiziert, so tritt ein neues weiteres Problem auf:

Auf Unterseiten von Framesets fehlt die Navigation

Wenn man eine Unterseite eines Framesets aufruft, ohne dass dieses geladen wird, so kommt man in der Regel nicht weiter. Sämtliche Orientierungen fehlen, die Designelemente, die eigentlich hätten da sein sollen, sind verschwunden und, was das schlimmste ist, die Navigation ist nicht verfügbar. Im schlimmsten Fall ist man also einfach gefangen und findet keinen Weg zur Startseite/zum Frameset.

Bookmarks funktionieren nicht

Wenn man innerhalb eines Framesets eine interessante Seite gefunden hat, so möchte man einen Bookmark (IE-Deutsch: Favoriten) setzen. Das Problem ist hierbei, dass dieser Bookmark dann nicht zur richtigen Seite führt, sondern zur Startseite des Framesets. Wenn man dagegen versucht, einen Bookmark auf die Unterseite zu setzen, verliert man wieder die Navigation.

Hyperlinks funktionieren nicht

Mit das wichtigste an der Struktur des weltweiten Netzes www ist, dass es durch eine Masse an Hyperlinks mit sich selbst verbunden ist. Es gehört zum Alltag im www, Links auf interessante, weiterführende Seiten zu setzen oder diesen zu folgen. Das nennt sich dann neudeutsch Surfen.

Und dabei tritt genau das gleiche Problem auf, wie bei den Bookmarks und bei den Suchmaschinen. Wenn ein Webautor einen Link zu einer bestimmten Seite eines verwandten Internetangebot setzen will, welches Frames verwendet, so hat er die Wahl zwischen zwei Übeln: entweder setzt er den Link auf die Startseite/das Frameset, dann muss sich sein eigener Besucher erst durch die Strukturen des anderen Internetangebots schaufeln, um zu den relevanten Informationen zu kommen, oder er verweist auf die Unterseite des Framesets, dann ist der Surfer direkt bei der richtigen Information, kann aber nicht mehr navigieren.

Frames kosten Platz

Die einzelnen Bereiche eines Framesets sind fest auf dem Bildschirm verankert, wenn man in dem Frame, wo viel Inhalt steht, scrollt, dann bleiben die anderen Frames einfach an ihrer Stelle im Browser und scrollen nicht mit. Wenn man aber Text liest, dann braucht man viel Platz und keine Designelemente. Bei einer Website ohne Frames würden diese zusammen mit der Navigation beim scrollen nach oben verschwinden. Zudem kann man eine Maus mit Scrollrad nur noch dann zum Scrollen benutzen, wenn der Mauszeiger über dem “richtigen” Frame ruht.

Frameseiten haben immer nur einen TITLE

Es liegt in der Natur von Frames, dass im Browserfenster immer nur der <title> des Framesets angezeigt wird und nicht der der jeweiligen Unterseiten. Das ist schade, da so ein wichtiges Element zur Identifikation einer Seite nutzlos wird.

Frameseiten sind schwer auszudrucken

Was für Internetanfänger häufig ein großes Problem darstellt, ist das Ausdrucken von Internetseiten. Speziell bei Frameseiten besteht die Schwierigkeit darin, dass immer nur der Inhalt eines Frames ausgedruckt wird, und zwar der des aktiven Frames. Wenn man aus Versehen vor dem Drucken den falschen Frame per Mausklick aktiviert, verschwendet man möglicherweise viel Papier mit dem Ausdruck einer völlig nichtssagenden Navigation.

Frameseiten sind schwer zu erstellen

Das Konzept, die Clientarea eines Browserfensters in mehrere Rahmen aufzuteilen ist nicht trivial. Frames sind kompliziert. Viele Fragen, die von Webautoren und solchen, die es werden wollen, in GABELN gestellt werden, beginnen mit “Ich habe ein Problem. Und zwar verwende ich Frames [...]“. Das aber haben wir schon vorher gewusst. ;)

Fazit

Ich hoffe, einigermaßen klar dargestellt zu haben, was an Frames ungünstig ist. Obwohl sie gerade für Anfänger, die nicht die Kenntnisse oder nicht die finanziellen Mittel zum Einsatz einer serverseitigen Scriptsprache haben, ein auf den ersten Blick attraktives Konzept zur Arbeitserleichterung verkörpern, sollte man auch die Nachteile nicht vergessen, die durch Frames entstehen.

Es bleibt jedem selbst überlassen, was er mit seiner Internetpräsenz macht, aber man sollte sich vor dem Einsatz einer bestimmten Technik (insbesondere beim Einsatz einer so heiklen wie Frames) über die Vor- und Nachteile im Klaren sein. Ich hoffe, hiermit dazu beigetragen zu haben, ein wenig Klarheit zu schaffen. Bitte behalten Sie nicht nur Ihre eigene Bequemlichkeit bei der Erstellung Ihrer Webseiten im Auge, sondern auch die eventuell auftretenden Probleme Ihrer Besucher.

original von Mirko Westermeier

Links