W3docs

HTML <object> Tag

Das HTML-<object>-Tag bettet eine externe Ressource wie ein PDF, SVG oder Bild ein, mit Fallback-Inhalt bei nicht darstellbarer Ressource.

Das <object>-Tag bettet eine externe Ressource in ein HTML-Dokument ein. Im modernen HTML wird es am häufigsten verwendet, um PDF-Dokumente (type="application/pdf"), SVG-Grafiken (type="image/svg+xml"), Bilder und andere Dokumente einzubetten, die der Browser inline darstellen kann.

Historisch gesehen wurde <object> verwendet, um Browser-Plug-ins wie Java-Applets und Flash zu laden. Diese Technologien sind inzwischen veraltet und werden von Browsern nicht mehr unterstützt, daher sollten Sie <object> nicht dafür verwenden. Heute lässt es sich am besten als Container für ein Dokument oder Bild mit eingebautem Fallback-Inhalt verstehen.

Jeder Inhalt, den Sie zwischen dem öffnenden und schließenden Tag platzieren, ist der Fallback: Der Browser zeigt ihn nur an, wenn die eingebettete Ressource nicht geladen oder gerendert werden kann (zum Beispiel, wenn kein PDF-Viewer verfügbar ist). Dies macht <object> zu einer eleganten Möglichkeit, Ressourcen einzubetten, die manche Benutzer möglicherweise nicht anzeigen können.

Sie sollten mindestens eines der Attribute data oder type definieren. data gibt die URL der Ressource an; type teilt dem Browser den MIME-Typ mit, damit er den richtigen Handler auswählen kann. Für gewöhnliche Rasterbilder ist das <img>-Tag einfacher und wird in der Regel bevorzugt.

Syntax

Das <object>-Tag kommt in Paaren vor. Fallback-Inhalt wird zwischen dem öffnenden (<object>) und schließenden (</object>) Tag geschrieben. Er wird innerhalb des <body> platziert.

<object data="resource-url" type="mime/type" width="..." height="...">
  Fallback content shown when the resource cannot be displayed.
</object>

Ein PDF einbetten

Richten Sie data auf eine .pdf-Datei und setzen Sie type="application/pdf". Der Fallback-Link ermöglicht es Benutzern, die Datei herunterzuladen, wenn die eingebettete Ansicht nicht unterstützt wird (häufig bei mobilen Browsern).

<!DOCTYPE html>
<html>
  <head>
    <title>Embed a PDF</title>
  </head>
  <body>
    <object
      data="https://api.w3docs.com/uploads/media/default/0001/01/sample.pdf"
      type="application/pdf"
      width="600"
      height="400"
      title="Sample PDF document">
      <p>
        Your browser can't display this PDF.
        <a href="https://api.w3docs.com/uploads/media/default/0001/01/sample.pdf">Download it instead</a>.
      </p>
    </object>
  </body>
</html>

Ein SVG einbetten

Verwenden Sie type="image/svg+xml", um eine eigenständige SVG-Datei einzubetten. Im Gegensatz zu einem <img> behält ein SVG, das über <object> geladen wird, seinen eigenen DOM und kann seine internen Skripte und Stile ausführen.

<!DOCTYPE html>
<html>
  <head>
    <title>Embed an SVG</title>
  </head>
  <body>
    <object
      data="https://api.w3docs.com/uploads/media/default/0001/01/diagram.svg"
      type="image/svg+xml"
      width="300"
      height="200"
      title="Architecture diagram">
      <img src="https://api.w3docs.com/uploads/media/default/0001/01/diagram.png" alt="Architecture diagram">
    </object>
  </body>
</html>

Ein Video einbetten

<object> kann auch auf eine Mediendatei verweisen. Beachten Sie, dass für Audio und Video die dedizierten Elemente <video> und <audio> die moderne, empfohlene Wahl sind.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the webpage</title>
  </head>
  <body>
    <p>Embedded video with fallback content:</p>
    <object width="320" height="240" data="https://api.w3docs.com/uploads/media/default/0001/01/1280x720.mp4" type="video/mp4">
      <p>Your browser does not support the object tag. <a href="https://api.w3docs.com/uploads/media/default/0001/01/1280x720.mp4">Download the video</a> instead.</p>
    </object>
  </body>
</html>

<object> vs. <embed> vs. <iframe>

Diese drei Elemente binden alle externen Inhalt in eine Seite ein, unterscheiden sich jedoch in wichtigen Punkten:

ElementSchließendes Tag?Fallback-Inhalt?Am besten für
<object>Paar (</object>)Ja — Inhalt zwischen den TagsEinbetten eines PDF, SVG oder anderen Dokuments mit elegantem Fallback
<embed>Void (kein schließendes Tag)NeinSchnelles Einbetten ohne Fallback
<iframe>Paar (</iframe>)EingeschränktEinbetten einer vollständigen HTML-Seite (Karten, Videos, Widgets)

Kurz gesagt: Wählen Sie <iframe>, um ein vollständiges HTML-Dokument einzubetten, <object>, wenn Sie einen Fallback für eine Nicht-HTML-Ressource benötigen, und <embed> für ein minimales Einbetten ohne Fallback.

Parameter mit <param> übergeben

Das <param>-Tag, das innerhalb von <object> platziert wird, übergibt benannte Parameter an die eingebettete Ressource. Es ist ein veralteter Mechanismus, der hauptsächlich zur Konfiguration von Plug-ins verwendet wurde; die meisten modernen Dokument- und Bildeinbettungen benötigen ihn nicht.

<object data="movie.swf" type="application/x-shockwave-flash">
  <param name="quality" value="high">
  <p>This content requires a plug-in that is no longer available.</p>
</object>

Barrierefreiheit

Geben Sie <object> einen zugänglichen Namen, damit Screenreader ihn ankündigen können. Fügen Sie ein title-Attribut (oder aria-label) hinzu, das die eingebettete Ressource beschreibt:

<object data="report.pdf" type="application/pdf" title="2025 annual report (PDF)">
  <a href="report.pdf">Download the 2025 annual report</a>
</object>

Stellen Sie immer sinnvollen Fallback-Inhalt zwischen den Tags bereit. Für Benutzer, deren Browser den eingebetteten Typ nicht darstellen kann, ist der Fallback (z. B. ein Download-Link oder ein statisches Bild) das, was sie tatsächlich sehen, daher muss er für sich allein stehen.

Das Attribut usemap

Das Attribut usemap verknüpft das object mit einer clientseitigen Image-Map, indem es eine Hash-Name-Referenz auf ein <map>-Element verwendet (zum Beispiel usemap="#shapes"). Die <area>-Elemente der Map definieren dann anklickbare Bereiche über der eingebetteten Ressource.

Attribute

AttributWertBeschreibung
aligntop bottom middle left rightGibt die Ausrichtung des Inhalts innerhalb des Elements relativ zu umgebenden Elementen an. Wird in HTML5 nicht unterstützt.
archiveURLDefiniert eine leerzeichengetrennte Liste von URLs zu Archiven, die für das object relevante Ressourcen enthalten. Wird in HTML5 nicht unterstützt.
borderpixelsLegt die Breite des Rahmens um das Element fest. Wird in HTML5 nicht unterstützt.
classidURLLegt die URL der Implementierung des object fest. Kann zusammen mit oder anstelle des data-Attributs verwendet werden. Wird in HTML5 nicht unterstützt.
codebaseURLDefiniert den Pfad, der zur Auflösung relativer URIs verwendet wird, die durch classid, data oder archive angegeben werden. Standardmäßig die Basis-URI des aktuellen Dokuments. Wird in HTML5 nicht unterstützt.
codetypemedia_typeLegt den Medientyp des Codes fest, auf den das classid-Attribut verweist. Wird in HTML5 nicht unterstützt.
dataURLLegt die URL der Ressource fest, die vom object verwendet wird. Geben Sie mindestens eines von data oder type an.
declaredeclareGibt an, dass das object nur deklariert, nicht instanziiert werden soll. Wird in HTML5 nicht unterstützt.
formform_idGibt ein oder mehrere Formulare an, zu denen das Element gehört.
heightpixelsGibt die Höhe des object an.
hspacepixelsGibt den Leerraum auf der linken und rechten Seite des object an. Wird in HTML5 nicht unterstützt.
namenameGibt einen Namen für das object an.
standbytextGibt einen Text an, der angezeigt wird, während das object geladen wird. Wird in HTML5 nicht unterstützt.
tabindexnumberLegt die Position des Elements in der Tab-Navigationsreihenfolge für das aktuelle Dokument fest.
typemedia_typeGibt den Medientyp (MIME-Typ) der Ressource im data-Attribut an. Geben Sie mindestens eines von data oder type an.
usemap#mapnameGibt den Namen einer clientseitigen Image-Map an, die mit dem object verwendet werden soll (eine Hash-Name-Referenz auf das <map>-Element).
vspacepixelsLegt den Leerraum oben und unten am object fest. Wird in HTML5 nicht unterstützt.
widthpixelsLegt die Breite des object fest.

Das <object>-Tag unterstützt auch die Globalen Attribute und die Ereignis-Attribute.

Hinweis: Attribute wie align, border, hspace und vspace sind veraltet. Verwenden Sie CSS für Layout und Styling in der modernen Entwicklung.

Übung

Übung
Was ist der Zweck des Inhalts, der zwischen dem öffnenden und schließenden object-Tag platziert wird?
Was ist der Zweck des Inhalts, der zwischen dem öffnenden und schließenden object-Tag platziert wird?
Was this page helpful?