Unter "Objekt" wird hier jede Art von Datei oder Datenquelle verstanden, die sich außerhalb einer HTML-Datei befindet und in diese HTML-Datei eingebunden werden soll. Es kann sich um eine Datendatei handeln, also etwa um eine Excel-Tabelle, eine AutoCad-Datei, eine Midi-Musikdatei, ein Flash-Movie, eine Streaming-Quelle für Rundfunkübertragung und vieles andere mehr. Es kann sich aber auch um eine vom Web-Browser ausführbare Datei handeln, also um ein Programm. Das können zum Beispiel Java-Applets oder ActiveX-Controls sein.
Damit nicht für jede neue Form der Einbindung anderer Ressourcen ein neues HTML-Element benötigt wird, soll ein einziges, mächtiges HTML-Element für alle Multimedia- und Fremdprogrammreferenzen genügen: das object
-Element. Dieses Element kann zwar nicht das Problem lösen, wie eine beliebige Datei beim Anwender angezeigt werden kann, aber es bietet zumindest eine einheitliche Syntax und trägt dadurch zur Vereinfachung von HTML bei.
Das object
-Element wird jedoch immer noch nicht vollständig von den Web-Browsern unterstützt. Das liegt zum Teil allerdings auch an der Vielzahl der proprietären Multimediaformate und ihren unterschiedlichen Schnittstellen. Das object
-Element ist jedoch so ausgelegt, dass es möglichst flexibel auf alle denkbaren Anforderungen reagieren kann und dem Browser genügend Information liefert, um mit der ausführenden Anwendung zu kommunizieren und sie in sein Anzeigefenster einzubetten.
Objekte sind aus HTML-Sicht Inline-Elemente. In der "Strict"-Variante von HTML müssen solche Elemente innerhalb von Block-Elementen vorkommen, etwa in einem Textabsatz oder einem allgemeinen Bereich oder auch einer Tabellenzelle.
Wenn Sie mit Versuchen, das object
-Element zu verwenden, keinen Erfolg haben, probieren Sie folgende herkömmlichen Möglichkeiten:
Multimedia einbinden (Netscape)
Java-Applets einbinden
Das object
-Element wird vom Internet Explorer seit Version 3.x und von Netscape seit Version 4.x unterstützt. Von einer ernstzunehmenden Implementierung kann bei diesen Produktversionen aber noch keine Rede sein. Deshalb ist bei den Beispielen auf dieser Seite in der Regel Internet Explorer 5.0 und Netscape 6.0 angegeben. Aber auch das bedeutet noch lange nicht, dass mit diesen Browsern alles reibungslos funktioniert.
Binden Sie Multimedia-Dateien im Normalfall nicht kommentarlos in Ihre Web-Seiten ein, sondern weisen Sie den Anwender darauf hin, um welche Art von Daten es sich handelt, und unter welchen Voraussetzungen eine korrekte Anzeige möglich ist.
Wenn Sie große Dateien einbetten, weisen Sie den Anwender im umgebenden Text auf die Größe der Datei hin.
Sie können eine beliebige Datendatei als Objekt in eine HTML-Datei einbinden, also z.B. ein Video, eine Konstruktionszeichnung, eine als fertige Datei vorliegende 3D-Welt, eine Musikdatei oder dergleichen. Auch einfache Textdateien und andere HTML-Dateien können Sie auf diese Weise einbinden. Ein Web-Browser kann solche Dateien anzeigen, wenn er entweder selber in der Lage ist, das Dateiformat anzuzeigen, oder wenn der Anwender ein entsprechendes Plugin installiert hat. Wenn das Plugin installiert ist, kann der Web-Browser die Datei so in seinem Anzeigefenster präsentieren, wie sie von dem Ursprungsprogramm erstellt wurde. Bei Abspielvorgängen, etwa von Videos oder Sound, wird ein entsprechender Player angezeigt - je nachdem, wie das Plugin beschaffen ist.
Wenn dem Browser eine Verknüpfung zwischen dem Datentyp und einem Fremdprogramm bekannt ist, kann er das Fremdprogramm mit der betreffenden Datei starten. Ob die Daten dann jedoch innerhalb des Bereichs auf der Web-Seite angezeigt werden, der für das Objekt definiert ist, hängt davon ab, ob der Browser und das andere Programm entsprechende Kommunikationsmöglichkeiten, z.B. vom Betriebssystem bereitgestellte Kommunikationsschnittstellen, nutzen.
Anzeigebeispiel: So sieht's aus (Beispiel erfordert installierten SVG-Viewer und DOM-fähigen Browser, also mindestens Internet Explorer 5.x oder Netscape 6.x; mit dem Plugin Adobe SVG Viewer funktioniert es auch schon im Netscape 4.7)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Datendateien als Objekt einbinden</title> </head> <body> <h1>Analoguhr als SVG-Grafik mit eingebettetem JavaScript</h1> <p> <object data="uhr.svg" type="image/svg+xml" width="200" height="200"> <param name="src" value="uhr.svg"> Ihr Browser kann das Objekt leider nicht anzeigen! </object> </p> </body> </html>
Mit <object>
leiten Sie die Referenz auf die einzubindende Datei ein, mit </object>
wird das Element beendet. Das object
-Element hat keine Pflichtattribute. Je nachdem, was Sie damit einbinden, müssen Sie selbst herausfinden oder auf Herstellerhinweise achten, welche der nach HTML-Standard möglichen Attribute Sie angeben sollten oder müssen. Zwischen dem einleitenden <object>
-Tag und dem abschließenden </object>
-Tag kann "beliebiger" HTML-Quelltext notiert werden. Im obigen Beispiel ist einfach ein Text notiert, dass der Browser das Objekt nicht anzeigen kann. Ebensogut könnte an dieser Stelle auch eine alternative Grafik notiert werden oder ein alternativer Versuch, das Objekt einzubinden, beispielsweise nach der herkömmlichen Netscape-Syntax. Es ist sogar erlaubt, als Inhalt eines object
-Elements ein anderes object
-Element zu notieren, um damit beispielsweise ein alternatives Objekt in einem anderen Dateiformat einzubinden.
Um eine Datendatei einzubinden, ist das Attribut data
vorgesehen. Damit referenzieren Sie die gewünschte Datei (data = Daten). Bei der Wertzuweisung an dieses Attribut gelten die Regeln zum Referenzieren in HTML. Wenn sich die Datei also beispielsweise im gleichen Verzeichnis wie die HTML-Datei befindet, dann genügt einfach die Angabe des Dateinamens - so wie im obigen Beispiel. Das Referenzieren mit relativen oder absoluten Pfadangaben ist jedoch ebenso möglich, z.B.:
<object data="verzeichnis/datei.xy">
<object data="../datei.xy">
<object data="../woanders/datei.xy">
Auch das Referenzieren von einem vollständigen URI ist möglich, z.B.:
<object data="http://www.example.org/datei.xy">
Zusätzlich können Sie den MIME-Typ der Datei angeben. Bei Datendateien, die mit data
referenziert werden, notieren Sie dazu das Attribut type
- so wie im obigen Beispiel. Als Wert weisen Sie einen gültigen MIME-Typ zu. Wenn Sie den MIME-Typ nicht kennen, lassen Sie die Angabe type
weg. Wenn Sie den MIME-Typ kennen und angeben, helfen Sie dem Web-Browser durch die Angabe, schneller zu reagieren.
Bei eingebundenen Objekten sollten Sie stets Angaben zu Breite und Höhe notieren. Mit dem Attribut width
legen Sie die Breite in Pixel oder in Prozent in Bezug auf die verfügbare Breite fest, und mit height
die Höhe.
Manche Daten, zum Beispiel Videos, haben eine Originalbreite und Originalhöhe. Um so ein Video optimal einzubinden, sollten Sie dessen genaue Breite und Höhe kennen und mit width
und height
beim Einbinden der Videodatei angeben.
Manche Plugins, zum Beispiel Sound-Player, haben eine bestimmte Größe. Wenn Sie die genaue Größe kennen, sollten Sie beim Einbinden von Sound-Dateien, die mit dem betreffenden Plugin wiedergegeben werden sollen, die genaue Höhe und Breite des Players angeben. So können Sie den Player vollständig und optimal innerhalb der Bildschirmanzeige der HTML-Datei platzieren. Die Größenangaben sind bei solchen Plugins normalerweise bei der Software dokumentiert.
Wenn Sie zunächst nicht wissen, wie viel Breite oder Höhe das Objekt benötigt, müssen Sie verschiedene Werte ausprobieren.
Mit den Angaben width="0"
und height="0"
können Sie die sichtbare Anzeige auch ganz unterdrücken. Das kann zum Beispiel bei Hintergrundmusik erwünscht sein.
Um Anzeigeprobleme mit verschiedenen Versionen des Adobe SVG Viewers bei Einbinden von SVG-Dateien zu vermeiden, sollten Sie im object
-Element die Datenquelle zusätzlich als Paramter angeben: <param name="src" value="uhr.svg">
.
Das object
-Element darf auch im Dateikopf einer HTML-Datei, also zwischen <head>
und </head>
notiert werden. Das ist dann sinnvoll, wenn die Datendatei nicht angezeigt werden soll, z.B. wenn einfach eine Hintergrundmusik abgespielt werden soll. In diesem Fall empfiehlt es sich, die Angaben width="0"
und height="0"
im einleitenden <object>
-Tag zu notieren. Bei Objekten, die im HTML-Dateikopf eingebunden werden, darf jedoch zwischen <object>
und </object>
kein alternativer Inhalt stehen, der visuelle Ausgaben erzeugt.
Das W3-Konsortium sieht im HTML-Standard auch die Möglichkeit vor, das object
-Element innerhalb eines Formulars zu notieren, um beispielsweise in visueller Interaktion mit dem Anwender Werte zu ermitteln, die dann beispielsweise in versteckten Formularfeldern gespeichert und zusammen mit den Formulardaten übertragen werden. Vorgaben, wie genau die Kommunikation zwischen Objekt und Formularelementen funktionieren soll, gehören jedoch nicht zur HTML-Spezifikation.
Konqueror 3.1 interpretiert zwar das object
-Element, stellt das Beispiel aber nicht dar. Konqueror 3.3 benötigt keinen zusätzlichen Viewer (abgesehen davon, daß Adobe nur Viewer für Windows anbietet), kann jedoch den in die SVG-Datei eingebetteten JavaScript-Code nicht ausführen.
Wenn Sie XHTML-Standard-konform arbeiten, müssen Sie das param
-Element als inhaltsleer kennzeichnen. Dazu notieren Sie das alleinstehende Tag in der Form <param ... />
. Weitere Informationen finden Sie im Kapitel XHTML und HTML.
Diese Möglichkeit des object
-Elements ist vor allem für Grafiken vorgesehen, die nicht einem der Standardtypen GIF, JPEG oder PNG entsprechen, die üblicherweise mit dem <img>
-Tag eingebunden werden. Gedacht ist die Möglichkeit beispielsweise für vektorgrafische CAD-Zeichnungen oder andere Grafikformate, die Sie mit Hilfe des object
-Elements einbinden.
Anzeigebeispiel: So sieht's aus (Beispiel erfordert installierten LuraWave-Viewer)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <title>Verweis-sensitive Grafiken als Objekt einbinden</title> </head> <body> <h1>Zur Stadt oder Region Ihrer Wahl!</h1> <p>Klicken Sie, falls Sie die LuraWave-Grafik sehen können, auf die Stadt oder Region Ihrer Wahl. Falls nichts passiert, unterstützt der Browser zwar die Anzeige des Objekts, aber nicht das Feature verweis-sensitiver Grafiken für Objekte.</p> <p> <map name="Landkarte"> <area shape="rect" coords="11,10,59,29" href="http://www.koblenz.de/" alt="Koblenz"> <area shape="rect" coords="42,36,96,57" href="http://www.wiesbaden.de/" alt="Wiesbaden"> <area shape="rect" coords="42,59,78,80" href="http://www.mainz.de/" alt="Mainz"> <area shape="rect" coords="100,26,152,58" href="http://www.frankfurt.de/" alt="Frankfurt"> <area shape="rect" coords="27,113,93,134" href="http://www.mannheim.de/" alt="Mannheim"> <area shape="rect" coords="100,138,163,159" href="http://www.heidelberg.de/" alt="Heidelberg"> <area shape="rect" coords="207,77,266,101" href="http://www.wuerzburg.de/" alt="Würzburg"> <area shape="rect" coords="282,62,344,85" href="http://www.bamberg.de/" alt="Bamberg"> <area shape="rect" coords="255,132,316,150" href="http://www.nuernberg.de/" alt="Nürnberg"> <area shape="rect" coords="78,182,132,200" href="http://www.karlsruhe.de/" alt="Karlsruhe"> <area shape="rect" coords="142,169,200,193" href="http://www.heilbronn.de/" alt="Heilbronn"> <area shape="rect" coords="140,209,198,230" href="http://www.stuttgart.de/" alt="Stuttgart"> <area shape="rect" coords="187,263,222,281" href="http://www.ulm.de/" alt="Ulm"> <area shape="rect" coords="249,278,304,297" href="http://www.augsburg.de/" alt="Augsburg"> <area shape="poly" coords="48,311,105,248,96,210,75,205,38,234,8,310" href="http://www.baden-aktuell.de/" alt="Baden"> </map> <object data="karte.lwf" type="image/x-wavelet" width="345" height="312" usemap="#Landkarte"> Ihr Browser kann das Objekt leider nicht anzeigen! </object> </p> </body> </html>
Um eine verweis-sensitive Grafik als Objekt einzubinden, notieren Sie im einleitenden <object>
-Tag das Attribut usemap
. Das restliche Verfahren ist dann das gleiche wie bei verweis-sensitiven Grafiken (siehe Beschreibung dort).
Wenn Sie XHTML-Standard-konform arbeiten, müssen Sie das area
-Element als inhaltsleer kennzeichnen. Dazu notieren Sie das alleinstehende Tag in der Form <area ... />
. Weitere Informationen finden Sie im Kapitel XHTML und HTML.
Java-Applets sind ausführbare Programme, deren Bildschirmausgaben ein Web-Browser innerhalb seines Anzeigefensters darstellen kann. Applets können z.B. bewegte Animationen (Tricksequenzen) enthalten, Echtzeitabläufe in bewegten Grafiken darstellen (Stichwort: Börsenticker), oder Interaktionen mit dem Anwender austauschen. So werden Java-Applets etwa häufig bei Online-Banking eingesetzt.
Java-Applets müssen in compilierter Form vorliegen, um bei der Referenzierung in einer HTML-Datei ausgeführt werden zu können. Normalerweise haben compilierte Java-Applets die Dateinamenerweiterung .class.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Java-Applets als Objekt einbinden</title> </head> <body> <h1>Wagen Sie sich durchs Labyrinth!</h1> <p> <object classid="java:zmaze3d.class" codetype="application/java-vm" width="600" height="400"></object> </p> </body> </html>
Mit dem Attribut classid
im einleitenden <object>
-Tag referenzieren Sie die Implementierung des JavaApplets (classid = class identifier = Klassenbezeichner). Erlaubt ist ein spezieller URI: Die Wertzuweisung besteht aus der festen Zeichenfolge java:
- gefolgt von dem Namen der .class-Datei (also der ausführbaren Applet-Datei). Im obigen Beispiel wird auf diese Weise die Datei zmaze3d.class in der Form classid="java:zmaze3d.class"
eingebunden.
Wenn sich die Applet-Datei in einem anderen Verzeichnis befindet als die HTML-Datei, in der sie referenziert wird, oder auf einem anderen Internet-Server, dann müssen Sie den Pfad bzw. die Adresse des Server-Rechners und das Verzeichnis angeben, wo sich die Programmdatei befindet (nur das Verzeichnis, nicht mehr den Namen der Programmdatei). Dazu verwenden Sie - ebenfalls im einleitenden <object>
-Tag - das Attribut codebase
. Bei der Wertzuweisung an dieses Attribut gelten die Regeln zum Referenzieren in HTML. Die Angabe von codebase
kann in einigen Fällen auch erforderlich sein, um Teile eines Java-Applets von einem bestimmten Internet-Server nachzuladen.
Ähnlich wie für Datendateien gibt es auch für ausführbare Programmdateien MIME-Typen. Bei Java-Applets sind die Angaben codetype="application/java"
oder codetype="application/java-vm"
gebräuchlich.
Zwischen <object>
und </object>
können Sie im Zusammenhang mit Java-Applets Aufrufparameter notieren. Viele Java-Applets erwarten einen oder mehrere solche Parameter beim Aufruf.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Java-Applets als Objekt einbinden</title> </head> <body> <h1>Ein Lauftext mit Java</h1> <p> <object classid="java:zticker.class" codetype="application/java" width="600" height="60"> <param name="msg" value="Die Energie des Verstehens"> <param name="href" value="../../../index.htm"> <param name="speed" value="5"> <param name="bgco" value="255,255,255"> <param name="txtco" value="000,000,255"> <param name="hrefco" value="255,255,255"> </object> </p> </body> </html>
Jeder Parameter wird durch <param name= value=>
angegeben. Beim Attribut name
geben Sie den Namen des Parameters an. Bei value
geben Sie den gewünschten Wert des Parameters an, der dem Applet übergeben werden soll.
Bei Java-Applets, die aus mehreren class-Dateien bestehen, müssen Sie die Datei angeben, die den Programmstart enthält. Näheres dazu entnehmen Sie der Dokumentation, die solchen Java-Programmen beigefügt sein sollte. Auch die genauen Anweisungen zum Einbinden eines Java-Applets - z.B. zu erwarteten oder erlaubten Parametern - finden Sie normalerweise in der Dokumentation zu dem Java-Applet.
Beachten Sie auch die herkömmliche Methode zum Einbinden von Java-Applets.
Internet Explorer 5 interpretiert das Beispiel problemlos, während Internet Explorer 6 auf Windows XP nach einem Update auf ServicePack 2 das Applet nicht mehr darstellt.
Wenn Sie XHTML-Standard-konform arbeiten, müssen Sie das param
-Element als inhaltsleer kennzeichnen. Dazu notieren Sie das alleinstehende Tag in der Form <param ... />
. Weitere Informationen finden Sie im Kapitel XHTML und HTML.
ActiveX-Controls können ähnliche Aufgaben wahrnehmen wie Java-Applets. Jedoch sind sie stärker als Java-Applets in der Windows-Welt und der Welt von Microsoft verankert und werden nur vom Microsoft Internet Explorer interpretiert.
Anzeigebeispiel: So sieht's aus ( Quelle zum Beispieltext)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>ActiveX-Controls als Objekt einbinden</title> </head> <body> <h1>Eine MIDI-Datei</h1> <p> <object width="267" height="175" classid="CLSID:05589FA1-C356-11CE-BF01-00AA0055595A"> <param name="filename" value="ritmo.mid"> </object> </p> </body> </html>
Mit dem Attribut classid
referenzieren Sie die Implementierung des gewünschten ActiveX-Controls (classid = class identifier = Klassenbezeichner). Die Angabe besteht aus der festen Zeichenfolge CLSID:
- gefolgt von der Bezeichner-ID. Diese ID müssen Sie kennen. Im obigen Beispiel wird ein recht bekanntes ActiveX-Control referenziert, nämlich dasjenige, das unter Windows zum Abspielen von Multimedia-Dateien zuständig ist. Es bindet den Media-Player von Windows in den Bereich des definierten Objekts ein. Mit classid="CLSID:05589FA1-C356-11CE-BF01-00AA0055595A"
binden Sie also ein ActiveX-Control ein, das es erlaubt, Sound- und Videodateien aller bekannten Formate wie WAV, AU, MID, MP3, AVI, MPEG usw. abzuspielen.
Mit dem Attribut codebase
können Sie die Internet-Adresse angeben, von der das ActiveX-Control geladen werden kann, falls der WWW-Browser es auf dem Rechner des Anwenders nicht findet (ActiveX-Controls werden nach dem Laden normalerweise in einem Windows-Unterverzeichnis abgespeichert - *.ocx-Dateien - und beim erneuten Aufruf auch wieder von dort geladen).
ActiveX-Controls können genauso wie Java-Applets Parameter übergeben bekommen. Diese werden auch genauso notiert, nämlich mit <param name= value=>
zwischen <object>
und </object>
. Das ActiveX-Control im obigen Beispiel erwartet einen Parameter namens filename
, der bei value
die Angabe des gewünschten Dateinamens der abzuspielenden Datei erwartet.
Wenn Sie XHTML-Standard-konform arbeiten, müssen Sie das param
-Element als inhaltsleer kennzeichnen. Dazu notieren Sie das alleinstehende Tag in der Form <param ... />
. Weitere Informationen finden Sie im Kapitel XHTML und HTML.
Zum Einbinden von Flash (*.swf-Dateien) gibt es verschiedene Ansätze. Die beiden ältesten Ansätze entsprechen den Techniken zur Einbindung von Plugins, die Netscape und Microsoft unabhängig voneinander für ihre Browser entwickelten. Der Netscape Navigator erwartete ursprünglich die Einbindung über das Netscape-eigene embed
-Element, welches unter Multimedia einbinden (Netscape) näher beschrieben wird. Der Microsoft Internet Explorer (Windows) hingegen erwartete, dass die Flash-Anwendung als ActiveX-Control eingebunden wird. Lange Zeit wurden beide Techniken parallel verwendet, so dass soviele Browser wie möglich die Flash-Anwendungen ausführen konnten.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Flash-Anwendungen als Objekt einbinden</title> </head> <body> <h1>Das gute alte Wurm-Spiel in Flash!</h1> <p>Erst auf "Start" klicken. Dann Leertaste drücken. Mit dem Wurm die angezeigte Zahl ansteuern und treffen. Außenränder und Hindernisse nicht berühren!</p> <p> <object classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000" width="600" height="400" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0"> <param name="movie" value="nibbles.swf"> <param name="quality" value="high"> <param name="scale" value="exactfit"> <param name="menu" value="true"> <param name="bgcolor" value="#000040"> <embed src="nibbles.swf" quality="high" scale="exactfit" menu="false" bgcolor="#000000" width="600" height="400" swLiveConnect="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"> </embed> </object> </p> </body> </html>
Das Beispiel enthält ein object
-Element, mit dem die Flash-Anwendung auf die Microsoft-Art eingebunden wird. Mit dem Attribut classid
referenzieren Sie die gewünschte Implementierung (classid = class identifier = Klassenbezeichner). Die Angabe besteht aus der festen Zeichenfolge CLSID:
- gefolgt von der Bezeichner-ID. Für das Macromedia-Flash-Plugin müssen Sie stets classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000"
notieren.
Mit dem Attribut codebase
können Sie die Internet-Adresse angeben, von der das Flash-Plugin geladen werden kann, falls es beim Anwender nicht vorhanden ist. Im obigen Beispiel ist die Adresse für Flash Version 4 angegeben. Wenn Sie Flash-Anwendungen einsetzen, die mit Flash 5 erstellt wurden, geben Sie codebase="http://active.macromedia.com/flash5/cabs/
swflash.cab#version=5,0,0,0"
an.
Flash-Anwendungen können genauso wie Java-Applets Parameter übergeben bekommen. Diese werden auch genauso notiert, nämlich mit <param name= value=>
zwischen <object>
und </object>
. Der wichtigste Parameter ist der namens movie
, bei dem Sie bei value
die Adresse der gewünschten *.swf-Datei angeben.
Immerhalb des object
-Elements befindet sich ferner ein embed
-Element als Alternativinhalt für diejenigen Browser, die die Microsoft-Methode nicht unterstützen. Die Adresse der Flash-Anwendungen geben sie im src
-Attribut an.
Diese umständliche doppelte Einbindung mit object
und einem darin verschachtelten embed
hat sich als robust erwiesen und wird auch offiziell vom Flash-Hersteller Macromedia empfohlen. Der Nachteil dabei ist jedoch, dass Sie ein HTML-Element verwenden müssen, das nicht zum HTML-Standard gehört. Sie erzeugen damit also ungültiges HTML.
Die im HTML-4-Standard geschaffene allgemeine Möglichkeit des Einbindens von Datendateien als Objekt ist zum Glück auch zum Einbinden von Flash-Anwendungen zu gebrauchen. Damit existiert eine einheitliche, browserübergreifende Schreibweise.
<object data="nibbles.swf" type="application/x-shockwave-flash" width="600" height="400"> <param name="movie" value="nibbles.swf"> <param name="quality" value="high"> <param name="scale" value="exactfit"> <param name="menu" value="true"> <param name="bgcolor" value="#000040"> </object>
Zum Einbinden der Flash-Anwendung wird ein object
-Element verwendet. Damit die Browser die eingebundene Datei als Flash-Anwendung erkennen, müssen Sie das Attribut type="application/x-shockwave-flash"
angeben. Die Angabe der Adresse der swf
-Datei erfolgt im Attribut data
und gleichzeitig im bekannten Parameter <param name="movie" value="...">
. Weitere Parameter werden wie gewohnt innerhalb des object
-Elements notiert.
Diese neuartige Methode benutzt zwar validen Code und folgt dem HTML-Standard, funktioniert allerdings erst in neueren Browsern und zieht einige weitere Probleme nach sich. Ein gravierender Nachteil ist die Tatsache, dass der Internet Explorer die Flash-Anwendung erst dann startet, wenn sie komplett vom Server übertragen wurde. Bei der Einbindung mithilfe der herkömmlichen Microsoft-Methode oder embed
wird die swf
-Datei normalerweise gestreamt. Das heißt, die Flash-Anwendung kann bereits starten, wenn die Datei teilweise heruntergeladen wurde. Das Manko des fehlenden Streamings kann nur recht kompliziert durch eine zusätzliche Flash-Datei umgangen werden, die als Container fungiert. Genauere Informationen und weitere Fallstricke finden sie unter Flash Satay: Embedding Flash While Supporting Standards. Seien Sie sich der potenziellen Schwierigkeiten bewusst, wenn Sie Flash auf diese Weise in Ihre Seiten einbinden.
Wenn Sie XHTML-Standard-konform arbeiten, müssen Sie das param
-Element als inhaltsleer kennzeichnen. Dazu notieren Sie das alleinstehende Tag in der Form <param ... />
. Weitere Informationen finden Sie im Kapitel XHTML und HTML.
Sie können festlegen, dass der Browser einen Rahmen um ein eingebundenes Objekt zeichnet. Das kann zur Verdeutlichung beitragen, dass es sich um ein eingebettetes Objekt handelt. Das Attribut dafür ist jedoch als deprecated gekennzeichnet und soll künftig aus dem HTML-Standard entfallen, da es durch die CSS-Eigenschaft border ersetzbar ist.
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>Rahmen um Objekte</title> </head> <body> <h1>Eine eingerahmte eingebundene Text-Datei!</h1> <p> <object data="html.txt" type="text/plain" width="300" height="400" border="2"> Ihr Browser kann das Objekt leider nicht anzeigen! </object> </p> </body> </html>
Durch das Attribut border
innerhalb des einleitenden <object>
-Tags wird ein Rahmen um das Objekt definiert (border = Rand). Die Angabe erfolgt in Pixeln und bedeutet die Rahmendicke.
Das obige Beispiel zeigt, wie Sie einfache Textdateien "in a box" einbinden können - ebenso geht es mit HTML-Dateien und dem MIME-Typ text/html
. Der Internet Explorer 5.0, Opera 6 und Konqueror 3.1 zeigen die Dateien an, allerdings keinen Rahmen. Netscape kann erst ab Version 7.0 die Textdatei als Objekt anzeigen. Opera ab Version 7.20 und Firefox zeigen den Rahmen an.
Sie können einen Namen für ein Objekt vergeben.
<object name="MIDI_Datei" width="267" height="175" classid="CLSID:05589FA1-C356-11CE-BF01-00AA0055595A"> <param name="filename" value="ritmo.mid"> </object>
Mit name
vergeben Sie einen Namen für das Objekt. 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.
In der HTML-Referenz finden Sie Angaben darüber, wo das object
-Element vorkommen darf, welche Attribute es haben kann und was bei den einzelnen Attributen zu beachten ist:
Element-Referenz für Objektreferenzen (<object> ... </object>
)
Attribut-Referenz für Objektreferenzen (<object> ... </object>
)
Eigenschaften von Objekten | |
Frames als Mittel für Seiten-Layouts | |
SELFHTML/Navigationshilfen HTML/XHTML Multimedia |
© 2005 Impressum