Frames in einer html-Datei:

Frames bieten die Möglichkeit, das Browserfenster in mehrere, eigenständige Bereiche aufzuteilen.

Das Ganze wird Frameset genannt, die Bereiche, die selbständige html-Seiten sind, Frames.

Ein Frameset besteht aus einer zentralen html-Datei, in dem das Frameset definiert wird, sowie die html-Dateien, die in den einzelnen Frames erscheinen sollen sowie deren Elemente (gifs etc.).

Aus diesem Grund ist es empfehlenswert, das Ganze in einem eigenen Verzeichnis zu halten.


Vorteile:

Zurück zum Anfang dieses Dokumentes.


Nachteile:

Zurück zum Anfang dieses Dokumentes.


Beispiele:

<html>

<head>
  <title>Frame-Test</title>
</head>

<frameset cols="100,*">
  <frame src="links.htm" name="LinkesFenster">
  <frame src="rechts.htm" name="RechtesFenster">
  <noframes>
    <body>
      Wenn Ihr Browser keine Frames darstellt, dann klicken Sie bitte auf diesen <a href="navi.htm">Link zur Navigationsseite</a>.
    </body>
  </noframes>
</frameset>

</html>

Dieses Beispiel kann der Inhalt einer index.htm-Datei sein und definiert ein Frameset, daß zwei Bereiche enthält, die nebeneinander stehen.
Der linke Bereich besitzt eine feste Breite mit 100 Pixeln.
Der rechte Bereich nimmt sich den gesamten, verfügbaren Rest des Browserfensters.
Die Frame-Bereiche erhalten automatisch Scroll-Leisten, wenn der Inhalt über den darstellbaren Bereich hinausragt.
Das Attribut scrolling=no im frame-tag verhindert dies.
Die Dimensionen können als Zahl (in Pixeln) fest, mit Prozentzeichen als relativ und mit * als den Rest benutzend definiert werden.
Weitere Eigenschaften wie Abstände von den Rahmen, Sichtbarkeit, Farben etc. siehe SelfHtml-Frameinfos.

Zu beachten ist noch, daß in der Titelleiste des Browsers nur der Text angezeigt wird, der im title-tag des head-Bereiches der Frameset-Datei vereinbart wurde, und daß, wenn das Frameset mittels eines einfachen Verweises im aktiven Browserfenster geöffnet wird, ein Rückwärts-Navigieren manchmal nicht mehr möglich ist.
Es ist aber kein Fehler, in den Subseiten eines Framesets das title-tag zu benutzen, schließlich sind diese Seiten eigenständige Webseiten und sollten auch alleine darstellbar sowie für Suchmaschinen auswertbar sein.

Zurück zum Anfang dieses Dokumentes.


Beispiel für ein "unauffälliges" Frameset:

<html>

<head>
  <title>Frame-Test</title>
</head>

<frameset cols="220,*" frameborder="0" framespacing="0" border="0">
  <frame src="navi.htm" name="LinkesFenster" scrolling="no" noresize>
  <frame src="s01.htm" name="RechtesFenster" scrolling="no">
  <noframes>
    <body>
      Wenn Ihr Browser keine Frames darstellt, dann klicken Sie bitte auf diesen <a href="navi.htm">Link zur Navigationsseite</a>.
    </body>
  </noframes>
</frameset>

</html>

Die dreifache Angabe zur Unterdrückung des Frame-Rahmens bewirkt, daß das auch bei verschiedenen Browsern 100%-ig funktioniert.
noresize bewirkt, daß ein evtl. dargestellter Frame-Rahmen vom Betrachter nicht verschoben werden kann.
scrolling="no" verhindert die Darstellung von Rollbalken.
Die Notation eines body-Tags innerhalb des noframes-Bereiches kann mit Blick auf Suchmaschinen erfolgen, deren Spider sich mit Frame mehr als schwertun. Dementsprechend dürfen hier auch suchmaschinen-freundliche Linklisten etc. stehen.

Zurück zum Anfang dieses Dokumentes.


Frames und Suchmaschinen:

Es ist deswegen mehr als sinvoll, beim Einsatz von Frames die Startseite so zu behandeln wie eine eigenständige Webseite ! Dann klappt's auch mit den Suchmaschinen und obendrein würde jemand, dessen Browser keine Frames darstellen kann, eine Webseite sehen, von der aus die weiteren Inhalte zugänglich sind.

Zurück zum Anfang dieses Dokumentes.


Steuern von Links innerhalb eines Framesets:

Wichtig im Umgang mit Frames ist das sog. target-Attribut.
Als Bestandteil des a-Tags steuert es die Darstellung des Hyperlinks im Verhältnis zur aktuellen Browser-Situation (z.B. Link öffnen in einer neuen Browserinstanz).
Innerhalb eines Framesets kann über das target-Attribut gesteuert werden, in welchem Teil des Framesets das Ziel eines Hyperlinks dargestellt werden soll.

<a href="info.htm" target="RechtesFenster"> würde z.B. einem Bereich eines Framesets, das zum Navigieren benutzt wird, bewirken, daß das Ziel des Verweises auf info.htm in einem anderen Teil des Framesets dargestellt wird, und zwar in dem, der in der Frameset-Definitionsdatei als "RechtesFenster" vereinbart wurde.

<a href="http://www.spiegel.de" target="_blank"> bietet einen Link an, um die Spiegel-online-Webseite in einem neuen Browserfenster zu öffnen.

<a href="http://www.spiegel.de" target="_top"> öffnen die Spiegel-online-Webseite in aktuellen Browserfenster, bewirkt aber, daß das Verweisziel in jedem Fall im gesamten Anzeigefenster des Browsers angezeigt wird.

Zurück zum Anfang dieses Dokumentes.


Links, die auf ein Frameset verweisen:

Für Links, die auf eine Frameset verweisen, sollte die Angabe target="_blank" im a-tag enthalten sein, die das Frameset in einer neuen Browserinstanz öffnet.

<a href="frames" target="_blank"> verweist auf das Frames-Beispielverzeichnis, in dem die Beispieldateien stehen, in einem neuen Browserfenster. Dieses Darstellen des Verzeichnis-Inhaltes wird directory-listing genannt und sollte aus Sicherheitsgründen auf einem Webserver abgeschaltet sein, damit unbefugte Personen keine Sicht auf den Inhalt eines Webverzeichnisses erhalten.

<a href="frames/index.htm" target="_blank"> öffnet die Frames-Beispielseite in einem neuen Browserfenster.

Zurück zum Anfang dieses Dokumentes.


Beispiele für einfache und anspruchsvollere Framesets:

Zurück zum Anfang dieses Dokumentes.

Zurück zur Startseite