## Eingebettete Frames

| Eingebettete Frames definieren Eigenschaften eingebetteter Frames Verweise zu eingebetteten Frames

## Eingebettete Frames definieren

Eingebettete Frames werden vom MS Internet-Explorer ab Version 3.x interpretiert, von Netscape bis einschließlich Version 4.x dagegen nicht. Seit HTML 4.0 gehören sie zum HTML-Standard. Eingebettete Frames sind ein eigenständiges Gestaltungsmittel zur Informationsaufbereitung, das anders funktioniert als "normale" Frames. Eingebettete Frames erzeugen keine Aufteilung des Bildschirms, sondern sind ähnlich wie Grafiken Bereiche innerhalb einer HTML-Datei, in denen fremde Quellen, vor allem andere HTML-Dateien angezeigt werden können.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Eingebettete Frames definieren</title>
    </head>
    <body>

    <h1>Fenstergucker</h1>

    <p>Gucken Sie mal SELFHTML im Fenster an:</p>

    <iframe src="../../../index.htm" width="90%" height="400" name="SELFHTML_in_a_box">
    <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:
    Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis
    aufrufen: <a href="../../../index.htm">SELFHTML</a></p>
    </iframe>

    </body>
    </html>

### Erläuterung:

Für HTML-Dateien mit eingebetteten Frames gilt das gewöhnliche Grundgerüst einer HTML-Datei. Eingebettete Frames können dann im Textkörper der HTML-Datei an einer gewünschten Stelle vorkommen. Mit `<iframe...>` leiten Sie einen eingebetteten Frame ein (iframe = inline frame = Rahmen im Textfluss). Mit dem Attribut `src=` bestimmen Sie, was in dem eingebetteten Frame angezeigt werden soll. Es kann sich um eine andere HTML-Datei oder eine beliebige andere lokale oder entfernte Datenquelle handeln. Bei der Wertzuweisung gelten die Regeln zum Referenzieren in HTML.
Ferner sollten Sie für den eingebetteten Frame mit `name=` einen Namen vergeben. Diese Namen brauchen Sie, um Verweise zu dem eingebetteten Frame zu definieren. Der Name sollte nicht zu lang sein und darf keine Leerzeichen, Sonderzeichen oder deutsche Umlaute enthalten. Das erste Zeichen muss ein Buchstabe sein. Danach sind auch Ziffern erlaubt. Benutzen Sie als Sonderzeichen im Namen höchstens den Unterstrich (`_`), den Bindestrich (`-`), den Doppelpunkt (`:`) oder den Punkt (`.`). Im Hinblick auf JavaScript darf der Name sogar nur Buchstaben, Ziffern und den Unterstrich (`_`) enthalten. Groß- und Kleinschreibung werden bei Sprachen wie JavaScript ebenfalls unterschieden.

Dringend zu empfehlen ist das Bestimmen der gewünschten Breite und Höhe des eingebetteten Framefensters. Die Breite geben Sie im einleitenden `<iframe>`-Tag mit dem Attribut `width=` an, die Höhe mit `height=`. Erlaubt sind Pixelangaben oder Prozentwerte, die sich auf die Größe des verfügbaren Raums beziehen.

Zwischen dem einleitenden `<iframe>` und dem erforderlichen, abschließenden `</iframe>` können Sie Text und andere Elemente notieren, die von Web-Browsern angezeigt werden, die den eingebetteten Frame nicht interpretieren.

### Beachten Sie:

Wenn Sie das `iframe`-Element in einer HTML-Datei notieren, müssen Sie in dieser Datei die HTML-Variante "Transitional" wählen. Eingebettete Frames gehören also auch nicht zur "reinen Lehre".

Andere Möglichkeiten, um Inhalte aus anderen Dateien innerhalb einer HTML-Datei anzuzeigen, sind Datendateien als Objekt (ebenfalls HTML-Standard), Layer mit Inhalt aus anderer Datei (Netscape-spezifisch) sowie Server Side Includes (HTML-Standard-konform, jedoch nur in HTTP-Umgebung ausführbar).

## Eigenschaften eingebetteter Frames

Sie können verschiedene weitere Eigenschaften definieren, um ein eingebettetes Framefenster zur Umgebung auszurichten.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Text des Titels</title>
    </head>
    <body>

    <h1>Bild zum Scrollen</h1>

    <iframe src="bild.jpg" name="Bildframe" width="300" height="200" align="left"
       scrolling="yes" marginheight="0" marginwidth="0" frameborder="0">
    <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:
    <img src="bild.jpg" width="464" height="580" border="0" alt="Bild"></p>
    </iframe>
    <p>Dieses Bild wurde auf dem Karwendelstein bei Mittenweld
    aufgenommen, in ca. 2400 Mether H&ouml;he. Es demonstriert, was einem in
    einem Freistaat so alles passieren kann ...</p>

    </body>
    </html>

### Erläuterung:

Das Beispiel zeigt, wie Sie ein eingebettetes Framefenster dazu verwenden können, um eine größere Grafik anzuzeigen und diese mit eigenen Scrollbars auszustatten.

Mit `align="left"` richten Sie den eingebetteten Frame links aus. Nachfolgende Inhalte fließen dann rechts um den Frame. Mit `align="right"` richten Sie den eingebetteten Frame rechts aus und nachfolgende Inhalte fließen links um den Frame. Dieses Attribut ist jedoch als deprecated eingestuft und durch die CSS-Eigenschaft `text-align` ersetzbar (z.B. `<iframe style="text-align:left">`).

Mit `scrolling="yes"` können Sie Scrollbars (Bildlaufleisten) in dem eingebetteten Frame erzwingen, mit `scrolling="no"` unterdrücken. `scrolling="auto"` können Sie ebenfalls angeben, doch dies entspricht der Voreinstellung.

Mit `frameborder="0"` können Sie den sichtbaren Außenrahmen des eingebetteten Frames unterdrücken. `frameborder="1"` ist die Voreinstellung.

Zwei weitere Attribute, nämlich `hspace=` und `vspace=`, werden vom Internet Explorer ebenfalls interpretiert, sind aber im Zusammenhang mit eingebetteten Frames nicht im HTML-Standard verzeichnet - was etwas inkonsistent ist, da das `align`-Attribut bei solchen Framefenstern genauso wirkt wie etwa bei Grafiken oder Objekten. Mit `hspace=` [Pixel] bestimmen Sie den Abstand zum Text neben dem eingebetteten Frame, mit `vspace=` [Pixel] den Abstand zum Text über bzw. unter dem Frame (hspace = horizontal space = horizontaler Abstand, vspace = vertical space = vertikaler Abstand). Beide Angaben erzeugen jedoch ungültiges HTML.

### Beachten Sie:

Genau wie bei normalen Frames besteht auch bei eingebetteten Frames die Möglichkeit, mit dem Attribut `longdesc=` eine Langbeschreibung zu referenzieren.

## Verweise zu eingebetteten Frames

In einer HTML-Datei, in der Sie einen eingebetteten Frame definieren, können Sie mit Verweisen auch den Inhalt des eingebetteten Frames ändern.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Text des Titels</title>
    </head>
    <body>

    <h1>Fernsteuerung</h1>

    <iframe src="startseite.htm" name="Fensterlein" width="500" height="400" marginheight="10" marginwidth="10" align="right">
    <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen</p>
    </iframe>
    <p>
    <a href="willkommen.htm" target="Fensterlein"><b>andere Seite</b></a><br>
    <a href="startseite.htm" target="Fensterlein"><b>erste Seite</b></a>
    </p>

    </body>
    </html>

### Erläuterung:

Voraussetzung für Verweise zu einem eingebetteten Frame ist, dass der eingebettete Frame mit `name=` einen Namen erhalten hat. Im obigen Beispiel ist das der Name `Fensterlein`.
Für das Setzen eines Verweises zu dem eingebetteten Frame gelten die üblichen Regeln zum Referenzieren in HTML. Damit das Verweisziel in dem Frame angezeigt wird, notieren Sie im einleitenden Verweis-Tag zusätzlich die Angabe `target=` (target = Ziel). Dahinter folgt der Name des Frame-Fensters, in dem das Verweisziel angezeigt werden soll.

| Frames als Mittel für Seitenlayouts
| Verweise bei Frames

© 2001 selfhtml@teamone.de