Syntax | <OBJECT>...</OBJECT> |
---|---|
Attribut-Spezifikationen |
|
Inhalte | PARAM-Elemente, die von Block-Level Elemente und/oder Inline Elementen gefolgt werden |
Beinhaltet in | HEAD, Inline Elemente, Block-Level Elemente außer PRE |
Das OBJECT-Element wird verwendet um Objekte wie Bilder, Musik, Videos, Java-Applets und Flash-Animationen einzubinden. OBJECT ist vorgesehen um die etwas spezifischeren IMG- und APPLET-Elemente zu ersetzen, sowie die EMBED- und BGSOUND-Elemente, durch das Fehlen von Browserunterstützung und schwerwiegenden Fehlern in der Unterstützung der Browser sind die anderen in vielen Fällen die bessere Wahl.
Das DATA-Attribut des OBJECTs spezifiziert die URL eines eingebetteten Objekts. Relative URLs werden mit Rücksichtsnahme auf das CODEBASE-Attribut, wenn es angegeben ist, interpretiert.
Die WIDTH- und HEIGHT-Attribute definieren die Dimensionen des Objekts. Der Wert kann in Pixeln oder als Prozentwert angegeben werden. Viele Browser benötigen die WIDTH- und HEIGHT-Attribute für alle eingebetten Objekte, die OBJECT verwenden.
Das CLASSID-Attribut kann verwendet werden um eine Implementierung für das Objekt anzugeben. Java-Applets, Python-Applets und ActiveX-Controls bieten alle Implementierungen für das eingebettete Objekt an und sind so mit CLASSID-Attribut spezifiziert, wie im folgenden Beispiel:
<OBJECT CLASSID="yahtzee.py" CODETYPE="application/x-python" STANDBY="Ready to play Yahtzee?" TITLE="My Yahtzee Game">
<OBJECT CLASSID="java:Yahtzee.class" CODETYPE="application/java" WIDTH=400 HEIGHT=250 STANDBY="Ready to play Yahtzee?" TITLE="My Yahtzee Game">
<OBJECT DATA="yahtzee.gif" TYPE="image/gif" TITLE="A Yahtzee animation" WIDTH=200 HEIGHT=100>
Yahtzee is my <EM>favorite</EM> game!
</OBJECT>
</OBJECT>
</OBJECT>
Dieses Beispiel demonstriert ebenfalls die Verwendung der alternierenden Inhalts für Browser, die keine eingebetteten Objekte anzeigen können. In dem Beispiel wird ein ein Yahtzee-Spiel, das in Python geschrieben wurde, verwendet, wenn der Browser es unterstützt. Eine Java-Version wird als eine Alternative für die Browser angeboten, die Python-Applets nicht unterstützen. Ein Bild wird für die Browser angeboten, die weder das Java- noch das Python-Applet anzeigen können und Text wird als letzte Alternatove verwendet, wenn auch die Bilder nicht geladen werden können. Nehmen Sie zur Kenntnis, dass OBJECT abwärts-kompatibel mit den pre-HTML 4.0 Browsern ist, da sie die <OBJECT> Tags ignorieren und innersten alternierenden Inhalt anzeigen (der Text im Beispiel).
Das vorherige Beispiel nutzt ebenfalls die TYPE- und CODETYPE-Attribute um den Browsern zu ermöglichen, das Anfragen nach Dateien, die sie nicht anzeigen können, zu vermeiden. Das TYPE-Attribut spezifiziert den Media-Typ der Quelle, die durch das DATA-Attribut referenziert wird, während das CODETYPE-Attribut den Media-Typ der CLASSID-Daten festlegt.
Das STANDBY-Attribut wird auch im Beispiel verwendet. Dieses Attribut bietet einen kurzen Text, der angezeigt wird, während das Objet geladen wird.
Das ARCHIVE-Attribut kann eine durch Leerzeichen-getrennte Liste mit den archivierten Dateien festlegen (auch mit absoluten oder relativen URLs zur CODEBASE), die dem Browser erlaubt viele Dateien in einer einzigen Verbindung herunterzuladen und wodurch die Gesamtladezeit abnimmt. Das Standardarchivformat für Java-Dateien ist JAR. JAR-Dateien können mit einem jar-Tool erstellt werden, dass im Java Development Kit enthalten ist.
Das DECLARE-Attribut macht das Object zu einer Erklärung, die nicht sofort verwirklicht wird. Dies erlaubt dem Objekt durch einen Link, Button oder ein Objekt, das später im Dokument kommt verwirklicht zu werden. Das ID-Attribut muss mit deklarierten Objekten als Identifier für ein zu verwirklichendes Element verwendet werden. Zum Beispiel:
<OBJECT DECLARE ID=yahtzee CLASSID="java:Yahtzee.class" CODETYPE="application/java" WIDTH=400 HEIGHT=250 TITLE="My Yahtzee Game">
<IMG SRC="yahtzee.gif" ALT="You get the dice!" TITLE="Yahtzee animation">
</OBJECT>
...
<P>Ready to <A HREF="#yahtzee">play Yahtzee</A>?</P>
Das OBJECT-Element kann PARAM-Elemente--vor jeglichem anderen Inhalt-- enthalten um Laufzeit-Initialisierungsdaten anzugeben. Das folgende Beispiel bettet ein Video, mit einem Audio-Clip als alternierenden Inhalt ein und enthält Parameter, die gemeinsam von Audio/Video Plug-ins verstanden werden. Nehmen Sie die Platzierung der PARAM-Elemente vor dem alternierenden Inhalt zur Kenntnis.
<OBJECT DATA="mlk.mov" TYPE="video/quicktime" TITLE="Martin Luther King's "I Have a Dream" speech" WIDTH=150 HEIGHT=150>
<PARAM NAME=pluginspage VALUE="http://quicktime.apple.com/">
<PARAM NAME=autoplay VALUE=true>
<OBJECT DATA="mlk.mp3" TYPE="audio/mpeg" TITLE="Martin Luther King's "I Have a Dream" speech">
<PARAM NAME=autostart VALUE=true>
<PARAM NAME=hidden VALUE=true>
<A HREF="mlk.html">Full text of Martin Luther King's "I Have a Dream" speech</A>
</OBJECT>
</OBJECT>
Das USEMAP-Attribut kann mit OBJECT verwendet werden um anzuklickende Bilder, in denen verschiedene Koordinaten unterschiedliche Link-Ziele habe können, einzubetten. Image-Maps mit dem IMG-Element werden besser unterstützt, jedoch erlauben OBJECT-basierte Image-Maps bessere Alternaiven für Browser, die keine Bilder laden. Das USEMAP-Attribut zeigt auf ein MAP-Element, dessen Inhalte die Links von verschiedenen Koordinaten definieren. Die MAP kann in einem OBJECT enthalten sein, in diesem Fall werden ihre Inhalte in Bilder-ladenden Browsern nicht angezeigt oder es kann außerhalb des OBJECT-Elements angegeben werden, sodass ihre Inhalte angezeigt werden.
Das folgende Beispiel gibt zwei Bilder an, eins als Alternative, falls der erste Bildtyp nicht unterstützt wird. Die Bilder teilen sich eine einzige Image-Map definition, die in einem OBJECT-Element enthalten ist. Das MAP-Element enthält ein Menü von Links, das in Browsern angezeigt wird, die keine Bilder laden.
<OBJECT DATA="sitemap.png" USEMAP="#map" TYPE="image/png" TITLE="Site map" WIDTH=300 HEIGHT=200>
<OBJECT DATA="sitemap.gif" USEMAP="#map" TYPE="image/gif" TITLE="Site map" WIDTH=300 HEIGHT=200>
<MAP NAME=map>
<UL>
<LI><A HREF="/reference/" COORDS="5,5,95,195">HTML and CSS Reference</A></LI>
<LI><A HREF="/design/" COORDS="105,5,195,195">Design Guide</A></LI>
<LI><A HREF="/tools/" COORDS="205,5,295,195">Tools</A></LI>
</UL>
</MAP>
</OBJECT>
</OBJECT>
Das TABINDEX-Attribut spezifiziert einen Wert zwischen 0 und 32767 um die Position des Elements in der Tabbing-Reihenfolge festzulegen. Ein Objekt mit TABINDEX=0 oder keinem TABINDEX-Attribute wird erst nach allen anderen Elementen mit einem positiven TABINDEX angezeigt. Unter den positiven TABINDEX-Werten, erhält die kleinere Zahl den Fokus zuerst. Im Falle einer Gleichheit erscheint das Element zuerst, was weiter zu Anfang des HTML-Dokuments steht.
Das ALIGN-Attribut, deprecated in HTML 4, legt die Ausrichtung des Objekts fest. Die Werte top, middle und bottom spezifizieren die Position des Objekts unter Rücksichtnahme auf die ungebenden Inhalte zur Linken und Rechten.
ALIGN=middle positioniert die vertikale Mitte des Object auf der aktuellen Grundlinie. Um das Objekt horizontal auf der Seite auszurichten, platzieren Sie das Objekt in einem mittig positionierten Block, z.B.,
<P ALIGN=center><OBJECT DATA="foo.mov" TYPE="video/quicktime"></OBJECT></P>
Die anderen ALIGN-Werte, left und right, legen ein fließendes Objekt fest; das Objekt wird am linken oder rechten Rand platziert und der Inhalt fließt um es herum. Im den Inhalt unter dem Objekt zu platzieren, verwenden Sie am besten <BR CLEAR=left|right|all>.
Die vertical-align- und float-Eigenschaften der Cascading Style Sheets bieten flexiblere Methoden in der Positionierung des Objekte.
Das BORDER-Attribut, deprecated in HTML 4, spezifiziert die Breite des Objektrands in Pixeln. Setzt man BORDER=0, wird der Rand um des verlinkte Objekt in den meisten Browsern eliminiert. Autoren sollten nur BORDER=0 verwenden, wenn das Objekt klar als Link erkannt werden kann oder als Methode den Link unbetont zu lassen. Zum Beispiel:
<A HREF="reference/"><OBJECT DATA="icon/reference.gif" WIDTH=90 HEIGHT=90 BORDER=0></OBJECT>Web Authoring Reference</A>
Die deprecated HSPACE- und VSPACE-Attribute erlauben einem Autor die horizontalen und vertikalen Leerräume zu beeinflussen, die isch um das Objekt herum befinden. Der Wert muss in Pixeln angegeben werden und wird auf beide Seiten des Objekts angwandt. Style Sheets bieten eine flexiblere Möglichkeit den Raum um ein Objekt einzuteilen.
Das OBJECT-Element ist am nützlichsten als BODY-Element und kann in Inline- oder Block-Level-Elementen verwendet werden. Der Inhalt des OBJECTs sollten Elemente sein, die in einem dem OBJECT übergeordneten Element enthalten sind. Zum Beispiel, ein A-Element, das ein OBJECT enthält, sollte keine Block-Level Elemente als Inhalt eines OBJECTs haben.