W3docs

HTML <param>-Tag

Der veraltete HTML <param>-Tag übergab benannte Parameter an Plug-ins, die mit <object> eingebettet wurden. Erfahren Sie mehr über moderne Alternativen.

Veraltet / obsolet. Der <param>-Tag ist nicht mehr Teil des HTML-Standards und sollte auf neuen Seiten nicht mehr verwendet werden. Er diente ausschließlich der Konfiguration von Browser-Plug-ins, und die Plug-in-Technologie, für die er gedacht war (Flash, Java-Applets, QuickTime, Silverlight), wurde aus allen modernen Browsern entfernt. Diese Seite dient als Referenz und zum Verständnis von Legacy-Code.

Der <param>-Tag („Parameter") übergab benannte Konfigurationswerte an ein Plug-in, das mit dem <object>-Element eingebettet wurde. Jedes <param> lieferte eine Einstellung als name/value-Paar — ähnlich einem Schlüssel-Wert-Argument, das beim Laden an das Plug-in übergeben wurde.

<object data="movie.swf" type="application/x-shockwave-flash">
  <param name="quality" value="high">
  <param name="bgcolor" value="#ffffff">
</object>

Innerhalb eines <object> konnten mehrere <param>-Elemente platziert werden. Jedes benötigte die Attribute name und value, und alle mussten vor etwaigem Fallback-Inhalt stehen (dem Text oder Markup, das angezeigt wird, wenn das Objekt nicht geladen werden kann).

Warum er existierte: Plug-ins und die NPAPI

Bevor Browser native Medien- und Rich-Application-Unterstützung hatten, liefen interaktive Inhalte — Videoplayer, Spiele, Dokument-Viewer — über externe Plug-ins durch eine Schnittstelle namens NPAPI (Netscape Plugin Application Programming Interface). Die bekanntesten Beispiele waren Adobe Flash, Java-Applets, Microsoft Silverlight und Apple QuickTime.

Die Seite bettete das Plug-in mit <object> (oder dem inzwischen entfernten <applet>-Element) ein, und <param> war die einzige Möglichkeit, Startoptionen an es zu übergeben. Bei einem Flash-Film konnte man quality, bgcolor, loop oder einen flashvars-String setzen; bei einem Java-Applet konnte man einen code-Pfad oder applet-spezifische Einstellungen übergeben.

Hinweis: <param> wurde auch innerhalb von <applet> verwendet, aber <applet> wurde vollständig aus HTML entfernt — es ist nicht nur veraltet, es hat in modernen Browsern kein definiertes Verhalten mehr.

Browser begannen um 2015, NPAPI-Plug-ins zu deaktivieren, und entfernten sie kurz darauf vollständig; Adobe beendete die Flash-Unterstützung Ende 2020. Da keine Plug-ins mehr konfiguriert werden müssen, hat <param> keine Aufgabe mehr.

Wichtig: <param> war niemals gültig innerhalb von <video> oder <audio>. Diese Elemente konfigurieren sich über ihre eigenen Attribute sowie über <source>- und <track>-Kindelemente — nicht über <param>.

Moderne Alternativen

Fast alles, was Plug-ins einst ermöglichten, hat nun einen nativen HTML- oder Web-Plattform-Ersatz:

  • Video und Audio — verwenden Sie die nativen <video>- und <audio>-Elemente mit ihren eigenen Attributen (controls, autoplay, loop, muted) und <source>/<track>-Kindelementen.
  • Interaktive Apps und Spiele — werden mit HTML, CSS, JavaScript, Canvas, WebGL oder WebAssembly entwickelt.
  • Einbetten anderer Dokumente — verwenden Sie <object>, <iframe> oder <embed>.
  • Konfiguration an ein eingebettetes Element übergeben — setzen Sie data-*-Attribute auf dem Element (oder im Query-String des einbettenden <iframe>) und lesen Sie diese mit JavaScript aus, anstatt <param> zu verwenden.
<!-- The modern equivalent of "configuring an embed": data-* + JavaScript -->
<div id="player" data-autoplay="true" data-volume="0.5"></div>

<script>
  const el = document.getElementById('player');
  const autoplay = el.dataset.autoplay === 'true';
  const volume = parseFloat(el.dataset.volume);
  // initialize your player with autoplay and volume...
</script>

Syntax

Der <param>-Tag ist leer, das heißt, der schließende Tag ist nicht erforderlich. In XHTML muss der <param>-Tag jedoch selbstschließend sein (&lt;param /&gt;).

HTML <param>-Tag

<object>
  <param name="..." value="...">
</object>

Beispiel des HTML <param>-Tags

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
  </head>
  <body>
    <p>Embedded object example</p>
    <object width="320" height="240" data="movie.swf" type="application/x-shockwave-flash">
      <param name="quality" value="high">
    </object>
  </body>
</html>

Beispiel des HTML <param>-Tags mit den Attributen „name" und „value"

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
  </head>
  <body>
    <p>Embedded object example</p>
    <object width="320" height="240" data="example.pdf">
      <param name="param1" value="value1">
    </object>
  </body>
</html>

Attribute

AttributWertBeschreibung
namenameGibt den Namen des Parameters an. Erforderlich.
valuevalueGibt den Wert des Parameters an. Erforderlich.
typemedia_typeDer MIME-Typ des Werts. Veraltet — wurde nur verwendet, wenn valuetype den Wert ref hatte, um dem Plug-in mitzuteilen, welche Art von Ressource die referenzierte URL enthält.
valuetypedata, object, refWie das Plug-in den value interpretieren soll. Veraltet.

Nur name und value wurden in HTML5 übernommen; type und valuetype wurden entfernt.

Über type und valuetype

Diese beiden Attribute hatten für sich genommen keine Wirkung — sie beschrieben lediglich, wie das Plug-in den value lesen sollte. Das Attribut valuetype hatte drei mögliche Einstellungen:

  • data (Standard) — value ist ein einfacher String, der direkt an das Plug-in übergeben wird.
  • refvalue ist eine URL, die auf eine Ressource verweist, die das Plug-in laden soll. In diesem Fall teilte type dem Plug-in den MIME-Typ dieser Ressource mit.
  • objectvalue ist die id eines anderen <object>-Elements auf der Seite.

Da Plug-ins nicht mehr existieren, haben diese Einstellungen heute keine Wirkung mehr. Sie sind hier nur dokumentiert, damit Sie sie in altem Code erkennen können.

Hinweis: Betrachten Sie den <param>-Tag als historisch. Neue Seiten sollten native <video>- und <audio>-Elemente, standardmäßiges Einbetten mit <object> oder <iframe> sowie data-*-Attribute verwenden, die von JavaScript ausgelesen werden, um ein eingebettetes Element zu konfigurieren.

Übungen

Übung
Was bewirkte der (inzwischen veraltete) HTML-param-Tag?
Was bewirkte der (inzwischen veraltete) HTML-param-Tag?
Was this page helpful?