Ein Inlineframe (auch iframe [ˈaɪfɹeɪm]) ist ein HTML-Element, das der Strukturierung von Webseiten dient. Er wird benutzt, um andere Webinhalte als selbständige Dokumente in einem definierten Bereich des Browsers anzuzeigen. Das Element wurde mit der HTML-4.0-Spezifikation eingeführt. Anfangs war die Browser-Unterstützung noch gering. Mittlerweile werden Inlineframes jedoch von fast allen Webbrowsern unterstützt.
Die Technik wird häufig verwendet, um Inhalte anderer Anbieter (z. B. Werbung) in eine Webseite einzubetten.
Umsetzung
Um einen Inlineframe einzubinden, wird das „iframe“-Element verwendet:
<iframe src="http://www.example.com/" height="100" width="200" name="meiniframe">Alternativtext</iframe>
Dies definiert einen Inlineframe in der angegebenen Größe, in dem die Datei aus der URI im src
-Attribut geladen wird. Der Name des Inlineframes kann im name
-Attribut frei gewählt werden. Über ihn kann der Inlineframe später bei Verlinkungen und in JavaScript-Programmen gezielt angesprochen werden. JavaScript-Zugriffe auf den Inhalt der eingebundenen Seite sind durch die Same-Origin-Policy nur möglich, wenn diese aus derselben Domain wie die einbindende Seite stammt.
Browser, die keine Inlineframes darstellen, sollen stattdessen den Alternativtext anzeigen. Dem Inlineframe kann eine absolute Größe (in Pixeln) oder eine relative Größe im Verhältnis des Browserfensters zugewiesen werden.
Eigenschaften
Bei den inzwischen nicht mehr zum HTML-Sprachumfang gehörenden konventionellen HTML-Frames wird die komplette Webseite in einem Frame-Gerüst aufgebaut, sodass das Browserfenster vollständig unterteilt wird in Bereiche, die aus externen HTML-Dokumenten zusammengesetzt werden. Inlineframes dagegen werden nur in vorgegebene Bereiche eines bestehenden HTML-Dokuments eingebettet. Im Gegensatz zu normalen Frames kann die Größe durch den Benutzer ohne weitere Hilfsmittel wie etwa JavaScript nicht verändert werden.
Von Vorteil ist bei Inlineframes wie auch bei konventionellen Frames, dass der Browser auf die Maße, nicht aber auf Gestaltung und Ladezeit der (I)Frame-Inhalte Rücksicht nehmen muss. Da ein (Inline-)Frame das parallele Laden der Inhalte ermöglicht, kann die umgebende Seite bereits dargestellt werden, während der Frame-Inhalt noch geladen wird.
Ein als Inlineframe eingebundenes Dokument kann zusammen mit dem umgebenden Text gescrollt werden. Inlineframes können jedoch auch eigene Scrollbalken aufweisen, wenn es die Größe des eingebetteten Dokuments erfordert.
Durch die Frametechnik wird in der Browseradresszeile nur die Adresse der umgebenden Seite angezeigt. Dies erschwert das Speichern der so eingebundenen Seite als Lesezeichen ohne die umgebende Seite.
Als Besucher erkennt man nicht notwendigerweise, wann man das Inhaltsangebot der einen Seite verlässt und das einer anderen betritt, sodass die Seiteninhalte irrtümlich einer anderen Quelle zugeschrieben werden können. Aus Seitenbetreibersicht kann gerade dies erwünscht sein.
Inlineframes können für das Einschleusen von Schadcodes mittels Cross-Site-Scripting genutzt werden.
Weblinks
- HTML-4.01-Spezifikation von Inlineframes bei w3.org (englisch)
iframe
im SELFHTML-Wiki