Dez 2008

HTML-Tag iframe • Fenster in ein zusätzliches Dokument

Das <iframe>-Tag fügt einen Inlineframe in das body-Element des HTML-Dokuments ein. iframe stellt beliebigen Inhalt – einschließlich Formulare, Bilder, Multimedia, andere Frames, Tabellen usw. – dar. Auf diese Weise wird eine weitere HTML-Datei innerhalb des Dokuments gerendert.

Der Inhalt des iframes-Fensters kann unabhängig vom HTML-Dokument formatiert werden – in iframes wird darum gern Werbung dargestellt. Zudem kann das Original-Dokument schon angezeigt werden, während das iframe noch geladen wird.

<iframe height="260" width="280" src="iframe.html" scrolling="yes"> 
   <a href="iframe.html">Lorem ipsum </a> 
</iframe> 

In XHTML 1.0 sollten Webseiten, die iframe-Elemente einsetzen, einen eigenen Doctype – Dokumententyp – aufweisen.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Während es für FRAME- und IFRAME-Elemente in XHTML 1.0 noch einen eigenen Doctype gab, ist das iframe aus XHTML 1.1 verschwunden und gilt als unerwünscht.

iframe- kontra object-Tag

Im Grunde genommen macht das object-Tag, das wesentlich flexibler ist, iframe-Tags überflüssig, die es seit XHTML 1.1 nicht mehr gibt und für das schon in XHTML 1.0 in einen besonderen Doctype geschrieben werden musste. Im einfachsten Fall lässt sich eine HTML-Datei oder eine PDF-Datei durch das object-Tag in einer Seite einbetten. Dennoch darf das aufrufende Dokument weiterhin mit einem strikten Doctype notiert werden.

Das funktioniert in allen Browsern tadellos – als wäre es ein iFrame. Allerdings war das object-Tag in Internet Explorer bis Version 7 derart lieblos und obendrein fehlerhaft implementiert, dass es nur in wenigen Umgebungen möglich ist, das object-Tag anstelle von iframes einzubinden. Erst IE8 zeigt object-Tags ohne überflüssige Scrollleisten und störende Rahmen.

html_beispiele/iframe.html
object als Fenster in eine andere Webseite
<object data="iframe.html" type="text/html" width="300" height="200">
   <a href="html_beispiele/iframe.html">html_beispiele/iframe.html</a>
</object>

iframe-Tags in HTML-Seiten einsetzen

Anders als mit den <frameset>-, <frame>- und <noframes>-Tags kann das <iframe>-Tag nur innerhalb des body-Elements benutzt werden. Ein <iframe>-Tag darf nicht innerhalb eines frameset-Elements verwendet werden.

Die einzige Methode, einem iframe Inhalte zuzuweisen, ist die Angabe einer URL im src-Attribut. Jeder darstellbare Inhalt kann innerhalb eines iframe-Elements gerendert werden. Das iframe-Dokument übernimmt die Stylesheets des aufrufenden Dokuments nicht und braucht also eigene Stylesheets für die Formatierung des Inhalts.

Zwischen dem öffnenden und schließenden <iframe>-Tag können ein beliebiger Text, Bilder oder Links stehen. Die Inhalte zwischen dem öffnenden und schließenden Tag werden nur von Browsern dargestellt, die den <iframe>-Tag nicht erkennen. So kann Besuchern mit älteren Browsern alternativ ein Link auf das iframe-Dokument zur Verfügung gestellt werden.

Attribute für iframe

height
vertikale Ausdehnung des iframe-Elements – entweder in Pixel oder Prozentangaben in Bezug auf die Gesamthöhe des umfassenden Blocks.
frameborder
Rahmen um den Frame. Die möglichen Werte sind 0 oder no und 1 oder yes. Der Wert von yes oder 1 erlaubt die Darstellung eines Rahmens. Ein Wert von no oder 0 unterdrückt die Ausgabe eines Rahmens.
longdesc
URL eines HTML-Dokuments, das eine ausführlichen Beschreibung des Frames enthält. Das Attribut ist dafür gedacht, mehr Informationen zur Verfügung zu stellen, als das title-Element darstellen kann.
marginheight
Abstand nach unten und nach oben zwischen Framerahmen und Inhalt in Pixel. Wenn unrealistische Werte angegeben werden, ignoriert der Browser das Attribut.
marginwidth
Abstand nach links und nach rechts zwischen Framerahmen und Inhalt in Pixel. Wenn unrealistische Werte angegeben werden, ignoriert der Browser das Attribut.
name
Zeichenfolge, die den Frame identifiziert. Der Name muss eindeutig sein und darf nur einmal im Dokument vorkommen.
scrolling
horizontale und vertikale Scrollleiste, die im Frame erscheint. Wenn der Inhalt größer ist als der Frame, erlaubt sie dem Besucher, aufwärts und abwärts oder nach rechts und links zu scrollen, um den gesamten Inhalt zu sehen. Die drei möglichen Werte sind: yes, womit festgelegt wird, dass stets eine Scrollleiste erscheint, no, womit nie eine Scrollleiste erscheint, und auto, das die Scrollleiste einspielt, wenn sie erforderlich ist. Wenn kein Wert angegeben wird, ist die Voreinstellung auto.
src
URL einer HTML-, ASP-, PHP- oder anderen Seite. Der Inhalt der referenzierten URL erscheint im Frame.
width
horizontale Größe des iframes entweder in Pixel oder als Prozentsatz des umspannenden Elements.

Attribute und Ereignisse für iframe-Tags

KernattributeEreignisse
class, id, style, title keine
   
Copyright © 2000 - 2010 Media Engineering Alle Rechte vorbehalten
Design + Programmierung Media Engineering U. Häßler 47506 Neukirchen-Vluyn • Impressum und Nutzungsbestimmungen