Inhalt

online-Logo

Bildschirmaufteilung mit Frames

Was sind Frames?

Mit Frames (Rahmen) lässt sich die Bildschirmansicht unterteilen, so dass quasi mehrere kleinere Bildschirme entstehen. Jeder von ihnen wird wie eine eigene html-Seite behandelt, kann also eigene Rollbalken erhalten und wird eigenständig vom Server nachgeladen.

Die Vorteile

  • Navigierbarkeit: Eine Navigationsleiste in einem Frame bleibt auch dann sichtbar, wenn man im Hauptfenster nach unten scrollt. Bei einem Tabellenlayout hingegen, werden die Navigations-Links dann nach oben aus dem Bild geschoben.
  • Ladezeiten: Wer in einem kleinen Schirmteil längere Zeit große Datenmengen anzeigt, braucht sie nicht bei jedem Bildwechsel neu zu laden, wenn er sie in einem Frame hat: Es werden einfach nur die anderen Frames nachgeladen.

    Das war ursprünglich übrigens der Hauptzweck der Frames: Die stetige Reklame an den Bildrändern (durch ihre Zappelei meist datenintensiv) sollte nicht jedes Mal wieder geladen werden müssen, wenn eine neue Webseite aufgerufen wird.

Die Nachteile

  • Schirmplatz: Wer keinen sehr großen Bildschirm hat, wird dankbar sein, wenn man ihn ihm nicht noch weiter verkleinert. Genau das passiert aber durch Schirmbereiche, die nicht mitscrollen.
  • Wer dateibezogene Funktionen des Browsers verwendet (z.B. Drucken der Seite) kann Überraschungen erleben: Da der Browser meist nur die Seite hinter einem der Frames druckt, sucht er sich oft eine aus.
  • "Zurück": Der "Back"-Knopf ist vieler WebSurfer liebstes Kind. Oft funktioniert er nicht wie erwartet, wenn Frames verwendet werden.
  • Auch wer sich ein Lesezeichen (Bookmark) anlegt, wird meist damit später nicht bei der Ansicht landen, auf der er ursprünglich war. Meistens wird nur die WebAdresse (URL) der Steuerdatei festgehalten, also werden die dort angegebenen Startseiten gezeigt.
  • Verfügbarkeit: Dass nicht alle Browser Frames darstellen könnten, ist heute kein Problem mehr. Die aktuellen Versionen der meisten gängigen Browsertypen sind framesfähig.

Aufbau einer Gruppe von Frames-Seiten

Normalerweise wird eine Ansicht (Webseite) von einer HTML-Datei gesteuert. Bei Frames ist das anders. Zu einer Ansicht mit drei Frames gehören vier HTML-Dateien: Die Steuerdatei, die nicht angezeigt wird, und eine Datei für jedes Frame.

In der Steuerdatei wird der Aufbau der Gesamtansicht beschrieben (Zahl, Größe, Lage der Frames im Fenster). Außerdem einige Eigenschaften der einzelnen Frames (Veränderbarkeit der Größe, Rollbalken, Benennung der Frames, Start-HTML-Datei für jedes Frame). Die anderen Dateien beschreiben die Inhalte der einzelnen Frames genau so, wie eine "normale" HTML-Datei eine "normale" HTML-Seite beschreibt.

Praxis

Zweiteilung des Bildschirms

Eine simple Zweiteilung des Schirms in nebeneinanderliegende Bereiche erreicht man mit folgendem Code in der Steuerdatei (=frame0.html):
...
<FRAMESET cols="25%,80%">
  <FRAME NAME=framelinks  src="frame1.html">
  <FRAME NAME=framerechts src="frame2.html">
</frameset>
...
Er enthält hier keinen <BODY>-Bereich, weil er ja auch nicht angezeigt wird. Beide Frames werden mit ihrer relativen Größe angegeben, ihre Grenzen dürfen verschoben werden. In den Frames werden die Dateien frame1.html (links) und frame2.html angezeigt und beide Frames erhalten einen Namen ("framelinks" und "framerechts") zur Unterscheidung.

Wenn die einzelnen Komponenten einer Framegruppe in Hyperreferenzen ("<a href=...") angesprochen werden sollen, geschieht das über diesen Namen mit dem Schlüsselwort "target". So lautet der HTML-Code für die linke index-Datei im Beispiel:

...
<body>
HIER IST<br>FRAME 1:<p>
INDEX:<p>
<a href="frame2.html" TARGET=framerechts>Seite "Frame2"</a><p>
<a href="frame3.html" TARGET=framerechts>Seite "Frame3"</a><p>
<a href="frame4.html" TARGET=framerechts>Seite "Frame4"</a><p>
<a href="frame.html"  TARGET=_top>Zurück</a><p>
</body>
...
Dabei bedeutet "_top" als "target", dass die Aufteilung des Schirms in Frames aufgehoben wird, und die Darstellung wieder normal ist.

Dreiteilung des Bildschirms

Bei einer Dreiteilung, die waagerecht und senkrecht erfolgen soll, wird zuerst eine Zweiteilung definiert und dann in einem der beiden Frames verschachtelt eine neue Zweiteilung vorgenommen.

Ein Blick in die Steuerdatei (=frame9.html) zeigt das:

...
<FRAMESET rows="15%,*">
  <FRAME NAME=frameoben src="frame4.html">
  <frameset cols="25%,75%">
    <FRAME NAME=framelinks  src="frame1.html">
    <FRAME NAME=framerechts src="frame2.html">
  </frameset>
</frameset>
...


Letzte Änderung: 3. März 2009

Informationen, Kritik, Anregungen zur WebSite: Bitte Mail an Frank Toussaint.