Zurück ] Inhalt ] Weiter ]

Arbeiten mit Frames

Was sind Frames?

Framesets wurden zum HTML-Standard hinzugefügt, um die Navigation in Webs zu erleichtern. Die Idee hinter Frames ist, daß ein Teil der Webseite unverändert am Bildschirm sichtbar bleibt. In diesem Teil des Framesets werden beispielsweise Navigationsfunktionen bereitgestellt. In einem anderen Teil des Framesets werden in Abhängigkeit von den angeklickten Links im Navigationsbereich Web-Seiten angezeigt. Dabei ist die Frameseite, nur ein Container, in dem andere HTML-Dokumente (Frames) angezeigt werden können.

Eine häufige Anwendung von Frameseiten sind Inhaltsverzeichnise am Rand. Die Hyperlinks im Inhaltsverzeichnis verweisen auf die entsprechenden Passagen des Haupttextes, der im Hauptteil des Frames (Hauptframe) angezeigt wird.

Grundsätzlich kann der Bildschirm horizontal oder vertikal in Bereiche unterteilt werden. Framesets können auch geschachtelt werden, so daß beliebig komplexe Strukturen entstehen können. Wir wollen in diesem Abschnitt die Techniken zum Erstellen von Framesets betrachten.

Frameseiten erstellen

Das Erstellen von Frameseiten mit Frontpage ist einfach. Beim Erstellen eines neuen Dokuments über den Menüpunkt Datei/Neu/Seite wird ein Dialog angezeigt. In diesem Dialog wechselt man zunächst in das Register Frameseiten, in dem verschiede vordefinierte Layouts für  Frameseiten angeboten werden. Bei der Auswahl der Framevorlage sollte man sich jeweils die Beschreibung und das Layout am rechten Rand des Dialogs ansehen. Insbesondere das Verhalten der Frameseiten sollte bei der Auswahl beachtet werden.

Hat man eine Framevorlage ausgewählt, wird die Frameseite in der Normalansicht angezeigt. Die in den Frames der Frameseite anzuzeigenden Seiten sind anfangs noch nicht festgelegt. Deshalb hat man zunächst die Möglichkeit, für jeden Frame eine HTML-Seite auszuwählen oder eine neue HTML-Seite anzulegen. Dazu klickt man auf die entsprechende Schaltfläche in den Frames.

Neue Ansichten für Frameseiten

Bei der Bearbeitung der Frameseiten ist zu beachten, daß es nun mehr Register für Ansichten gibt. In der Normalansicht wird die Frameseite in ihrer WYSIWYG-Darstellung angezeigt. D.h. zum Bearbeiten der Frames klickt man einfach in den entsprechenden Frame und editiert das entsprechende HTML-Dokument. Anstatt die Frames in dieser Ansicht zu editieren, kann man die Dokumente auch einzeln bearbeiten. Dazu müssen sie explizit geöffnet werden.

Im Register Ohne Frames wird die Darstellung der Frameseite festgelegt, wenn der Browser Frames nicht unterstützt. Probleme bei der Unterstützung von Frames könnten insbesondere bei älteren oder textbasierten Browsern auftreten. Hier sollte man zumindest einfache Navigationsmöglichkeiten, z.B. einen Link zu einem Inhaltsverzeichnis, anbieten. Es sollte auch eine Meldung angezeigt werden, dass der Browser Frames nicht unterstützt.

Im Register HTML werden die Frames der Frameseite jeweils im HTML-Code dargestellt. Den HTML-Code für die Frameseite selbst findet man in der Ansicht HTML der Frameseite. Das Vorschaufenster zeigt die Frameseite an, wie sie vom Browser dargestellt wird.

Frameeigenschaften festlegen

Nach dem Erstellen der Frameseite kann man noch verschiedene Einstellungen am Frame vornehmen. Befehle für den Umgang mit Frames sind im Menü Frames zusammengefaßt. Man kann beispielsweise die Framestruktur weiter verfeinern, in dem man einen Frame teilt. Andererseits kann man auch definierte Frames löschen. Über den Menüpunkt Frames/Frameeigenschaften können Einstellungen zur Darstellung des Frames vorgenommen werden. Diese Einstellungen sind in der folgenden Tabelle zusammengefaßt:

Frameeigenschaften
Einstellung Bedeutung Attribut in HTML
Name Name des Frames. Über diesen Namen wird der Frame in der Frameseite referenziert NAME="Name der Seite"
Startseite HTML-Seite, die beim Laden der Frameseite zuerst angezeigt wird SRC="Startseite.html"
Framegröße (Breite und Zeilenhöhe) Höhe und Breite des Frames in Pixel oder Prozent der Frameseitenbreite. Bei der Einstellung "Relativ" wird die Größe des Frames vom Browser eingestellt ROWS="X,Y,..." bzw. COLS="X,Y,..." Die Angaben sind in Pixel oder Prozent für jeden Frame in der Frameseite. Wird ein "*" als Breite oder Höhe angegeben, legt der Browser die Größe fest.
Ränder (Breite und Höhe) Der Abstand zwischen Framebegrenzung und Inhalt der Frames in die jeweilige Richtung in Pixel. MARGINWIDTH="X" bzw. MARGINHEIGHT="Y"
Bildlaufleisten anzeigen Falls erforderlich, wenn der Browser ein- und ausblenden von Bildlaufleisten übernimmt; Nie, wenn keine Bildlaufleisten angezeigt werden sollen; Immer, wenn immer Bildlaufleisten angezeigt werden sollen SCROLLING="OPTION", wobei option die Werte yes, no und  auto annehmen kann
Größe im Browser änderbar aktiviert, wenn der Benutzer die Framegrenzen verschieben darf die Option NORESIZE verhindert das verändern der Framegröße.

Die Attribute in der Tabelle ROWS und COLS beziehen sich auf das HTML-Tag FRAMESET. Alle anderen Attribute beziehen sich auf das Tag FRAME. Diese Tags werden im nächsten Abschnitt genauer erklärt.

Bei der Einstellung der Seiteneigenschaften über den Menüpunkt Datei/Eigenschaften im Register Allgemein gewinnt die Einstellung des Standardzielframe an Bedeutung. Diese Einstellung legt fest, auf welchen Frame sich Hyperlinks in einem Frame auswirken sollen. Beim Festlegen von Hyperlinks gibt die Eigenschaft TARGET an, in welchem Frame der Link angezeigt werden soll. Die folgende Tabelle faßt die Möglichkeiten zum Verwenden der Eigenschaft zusammen. Bei der Eingabe des Hyperlinks über den Dialog, wird das Ziel des Frames im Eingabefeld Zielframe festgelegt.

Eigenschaft für Target Bedeutung
target="NameOfFrame" Link wird in Frame mit Name NameOfFrame geöffnet
target="_self" Link bezieht sich auf aktuellen Frame (Standardeinstellung)
target="_parent" Link wirkt sich auf übergeordneten Frame oder das gesamte Fenster aus
target="_top" Link wird im aktuellen Browserfenster den gesamten Platz verwenden.
target="_blank" Link wird in neuem Fenster geöffnet

Hat man alle Einstellungen für eine Frameseite vorgenommen, können alle HTML-Seiten, die in dem Frame angezeigt werden sollen prinzipiell unabhängig von der Frameseite erstellt werden. Die Besonderheiten bei der Interaktion von Frames werden in der folgenden Diskussion von Frames im HTML-Code aufgezählt.

Frames und HTML

Der HTML-Code von Frameseiten weist einige strukturelle Besonderheiten im Gegensatz zu normalen HTML-Dokumenten auf. Der Rumpf des HTML-Dokuments wird durch das Tag-Paar <FRAMESET> und </FRAMESET> abgegrenzt. Im ersten Teil der Definition des Framesets befinden sich die Spezifikationen der Frames in der Frameseite. Dabei können auch verschachtelte Framesets verwendet werden. Die Definition einer Frameseite wird in die Tags <FRAME> und </FRAME> eingeschlossen. Die Attribute der genannten Tags sind in der Tabelle der Frameeigenschaften zusammengefaßt.

Browser, die keine Frames unterstützen ignorieren alle Definitionen von Frames und gelangen zu den Tags <NOFRAMES> und </NOFRAMES>. In diesen Tags sollte der Rumpf eines normalen HTML-Dokuments enthalten sein. Dieser Rumpf muß in die Tags <BODY> und </BODY> eingeschlossen werden. Browser, die keine Frames unterstützen, werden den Body des HTML-Dokuments darstellen. Die grobe Dokumentstruktur einer Frameseite ist im folgenden angegeben:

<html>
<head>
     <title>Titel der Datei</title>
     ...
</head>
<frameset Angaben über Größe und Aufteilung des Frames >
     <frame src="xxx.html" name="aaa" >
     <frame src="yyy.html" name="bbb" >
     ...
</frameset>
<noframes>
     <body>
     ...
     Information im normalen HTML-Format
     oder zumindest Links auf xxx.html und yyy.html
     ...
     </body>
</noframes>
</html>

Eingebettete Frames

Neben den beschriebenen Frameseiten können Frames auch in HTML-Dokumente eingebettet werden. Solche Frames werden als eingebettete Frames bezeichnet. Eingebettete Frames können in Frontpage nur im HTML-Code eingegeben werden. Daher wird die Vorgehensweise beim Einfügen von eingebetteten Frames nur kurz beschrieben.

Eingebettete Frames werden mit den Tags <IFRAME> und </IFRAME> festgelegt. Die Attribute, die in dem Start-Tag angegeben werden, bestimmen die Eigenschaften des eingebetteten Frames. Diese Eigenschaften sind in der folgenden Tabelle zusammengefaßt:

Eigenschaften von eingebetteten Frames
Attribut Bedeutung
SRC= "Startseite.html" Die Startseite, die standardmäßig in dem eingebetteten Frame angezeigt wird
NAME="Framename" Der Name, der als target für Hyperlinks verwendet werden kann - analog zu Frameseiten
WIDTH= "X"; HEIGHT="Y" Höhe und Breite des eingebetteten Frames in Pixeln
ALIGN="left" oder ALIGN="right" Die Ausrichtung des Frames in der Seite
SCROLLING="scr" Legt fest, ob Scrollbars angezeigt werden. Mögliche Werte für scr sind: yes, no und auto
FRAMEBORDER="X" Breite des sichtbaren Außenrahmens in Pixeln

Kritikpunkte

Die Idee hinter Framesets scheint überzeugend zu sein. Allerdings ergeben sich für den Benutzer von Frames einige Probleme. Das Browsen im WWW basiert auf 4 grundsätzlichen Operationen:

  1. Vorblättern in der Information (Tiefpfeil oder Page-Down oder Mausklick im Scrollbar),
  2. Zurückblättern in der Information (Hochpfeil oder Page-Up oder Mausklick im Scrollbar),
  3. Sprung zu einer neuen Information (Rechtspfeil oder Return-Taste oder Mausklick auf ein Link),
  4. Rückkehr zur alten Information (Linkspfeil oder Escape-Taste oder Mausklick auf Back).

Die vierte Operation kann von Benutzern nicht ohne weiteres ausgeführt werden, wenn Frames verwendet werden:

  • Die Rückkehr zu alten Informationen hängt vom Fokus innerhalb des Frames ab.
  • Beim Verwenden von externen Links, d.h. zu Links außerhalb des eigenen Webs, bleibt der Navigationsframe u.U. bestehen. Das ist im allgemeinen nicht gewollt.
  • Das setzen von Bookmarks kann nur auf die umschließende Frameseite erfolgen. Man kann nur bedingt Links zu Inhalts-Seiten Bookmarks speichern.
  • Speichern und Drucken von Inhalten ist komplizierter, da man den Inhaltsframe normalerweise vorher in einem eigenen Fenster anzeigen oder spezielle Menübefehle verwenden muß.

Meiner Meinung nach sollte man daher Frames eher für lokal gespeicherte Webs verwenden. Für Webseiten, die im Internet veröffentlicht werden sollen, sollte man eher auf Navigationsleisten oder eigene Navigationsfunktionen zurückgreifen.


Skript - MS Frontpage
[ Top Zurück ] Inhalt ] Weiter ] Norman May