HTML lernen - Frames - Links in Frames

Sie haben sich sicher schon gefragt, warum wir den Frames eindeutige Namen zuweisen müssen. Dies ist immer dann nötig, wenn man mit Links innerhalb der einzelnen Seiten arbeitet, die in den Frames angezeigt werden.

Zunächst sollten Sie wissen, dass Links, die in einem Frame angeklickt werden und kein target-Attribut haben, sich im selben Frame wieder öffnen. Dies können wir z.B. mit dem Attributwert _blank verhindern, welcher beim Klick auf einen Link, das Ziel in einem neuen Fenster öffnet.

Neben diesem Attributwert, haben wir in einem früheren Kapitel bereits _top, _parent, _self gelernt ohne zu wissen, was diese wirklich tun. Sofern Sie keine Frames verwenden, haben diese alle ein und dieselbe Bedeutung: Der angeklickte Link soll sich im selben Fenster öffnen, wie die aktuelle Seite. Sie können hier das target-Attribut weglassen, da dies der Standardwert für alle Links ist.

Verwenden Sie jedoch Frames können diese Attributwerte ab und an dieselbe Bedeutung haben, müssen es jedoch nicht. _top bedeutet, dass der angeklickte Link alle Frames der aktuellen Seite auflösen und die Website im kompletten Fenster öffnen soll. _parent bedeutet, dass der angeklickte Link das aktuelle Frameset auflösen und die Website im nächste höher gelegenen Frame öffnen soll. _self hingegen bedeutet, dass der angeklickte Link die Website im aktuelle Frame öffnen soll.

Wahrscheinlich haben Sie sich schon gefragt, warum Sie den einzelnen Frames Namen geben sollten. Mit Hilfe der Namen ist das gezielte Ansprechen eines Frames möglich. Haben Sie z.B. ein Frameset aus drei Frames (Navigation rechts, Kopf oben, und Seiteninhalt) angelegt, so würden alle Links aus der Navigation in dem kleinen Navigations-Frame geöffnet werden, anstatt im Inhalts-Frame. Hier würden Ihnen auch die Attributwerte _top, _self, _parent oder _blank nicht weiterhelfen.

Anstelle dieser verwenden wir nun einen Framenamen im target-Attribut.

Zur Veranschaulichung gehen wir von diesem Frameset aus:
<frameset rows="*" cols="90,*" frameborder="1" border="1">
 <frame name="navigation" src="navigation.html">
 <frameset rows="90,*" frameborder="1" border="1">
   <frame name="kopf" src="oben.html">
   <frame name="inhalt" src="main.html">
 </frameset>
</frameset>
Um nun mit einem Klick auf einen Link des Frames navigation die entsprechende Seite im Frame inhalt zu öffnen, geben wir nun dem entsprechenden Link das target-Attribut mit dem Namen des Frames, in dem der Link geöffnet werden soll.

Hier ein Beispiellink in der navigation.html, der im Frame inhalt geöffnet werden soll:
<a href="neuer_inhalt.html" target="inhalt">Beispiellink</a>


Achtung: Sollten Sie einen Framenamen nicht hinterlegt haben, diesen aber als Attributwert für target in einem Link verwenden, so wird ein neues Fenster geöffnet.

Hinweis: Sollten Sie die Wirkung der Attributwerte _self und _parent verstehen, brauchen Sie sich keine Gedanken deswegen zu machen. Es reicht in der Regel, wenn Sie mit den Framenamen und den Attributwerten _top und _blank arbeiten können.