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 (<param />).
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
| Attribut | Wert | Beschreibung |
|---|---|---|
| name | name | Gibt den Namen des Parameters an. Erforderlich. |
| value | value | Gibt den Wert des Parameters an. Erforderlich. |
| type | media_type | Der 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. |
| valuetype | data, object, ref | Wie 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) —valueist ein einfacher String, der direkt an das Plug-in übergeben wird.ref—valueist eine URL, die auf eine Ressource verweist, die das Plug-in laden soll. In diesem Fall teiltetypedem Plug-in den MIME-Typ dieser Ressource mit.object—valueist dieideines 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>sowiedata-*-Attribute verwenden, die von JavaScript ausgelesen werden, um ein eingebettetes Element zu konfigurieren.