HTML <param> Element
The <param> element was historically used inside an <object> element to supply parameters to an embedded resource or plugin. Each parameter consisted of a name and value that the embedded content could use when it was initialized.
<param> element must not be used in new HTML. Modern embedded content should be configured using the methods provided by the appropriate HTML element, URL, JavaScript API, or application rather than <param>.
Historical Syntax
Older webpages could contain markup similar to the following:
<object data="movie.swf" type="application/x-shockwave-flash">
<param name="autoplay" value="true">
<param name="quality" value="high">
</object>
Each <param> element supplied a named value to the resource loaded by the parent <object> element. The meaning of each parameter depended on the embedded application or plugin. This code is shown for historical reference only and should not be used in modern HTML.
Attributes
The <param> element historically supported attributes that identified a parameter and supplied its value. Earlier versions of HTML also included attributes that described how the value should be interpreted.
| Attribute | Description |
|---|---|
name |
Specified the name of the parameter being passed to the embedded object. |
value |
Specified the value assigned to the named parameter. |
type |
Historically specified the MIME type of a parameter value when the value represented a resource. |
valuetype |
Historically indicated how the parameter value should be interpreted, such as data, a reference to a resource, or an object. |
Historical Use
The <param> element was closely associated with the <object> element and the plugin-based web. Authors used it to pass configuration information to embedded applications, media players, Java applets, ActiveX controls, Flash content, and other external resources.
For example, parameters could tell an embedded media player whether to begin playing automatically, control its appearance, specify a starting value, or provide information required by the application. The available parameter names and values were determined by the technology being embedded rather than by HTML itself.
Multiple <param> elements could be placed inside a single <object> element when the embedded resource required several configuration values.
Why It Became Obsolete
The <param> element became increasingly unnecessary as browsers moved away from plugin-based content and HTML gained standardized elements for common types of embedded media. Technologies that once depended heavily on <object> parameters, including browser plugins, disappeared from normal web development.
Modern elements such as <audio> and <video> provide their own attributes and APIs for controlling media. Other embedded resources can use their own URLs, attributes, JavaScript APIs, or application-specific configuration methods.
As a result, <param> was removed from the modern HTML standard and is now an obsolete, non-conforming element.
Modern Alternative
There is no single modern element that replaces <param>. The appropriate method depends on the type of content being embedded and the setting that needs to be configured.
For example, an older media object might have used parameters to control playback:
<object data="movie.swf">
<param name="autoplay" value="true">
</object>
Modern HTML media elements provide standardized attributes for comparable settings:
<video controls autoplay muted>
<source src="video.mp4" type="video/mp4">
Your browser does not support the video element.
</video>
The exact replacement depends on the original resource. When updating an old page, determine what each <param> controlled and then use the modern configuration method provided by the replacement technology.
Legacy Browser Support
The <param> element was widely recognized by browsers as part of the historical <object> model. However, much of its practical usefulness depended on plugins and embedded technologies that modern browsers no longer support.
Browser recognition of old <param> markup does not make the element valid for new HTML or guarantee that its historical parameter will have any effect. Existing uses should be reviewed together with the embedded resource they were intended to configure.
For detailed legacy browser compatibility information, see Can I Use: HTML <param> Element .
Related Elements
The <param> element was historically used with the <object> element. Modern embedded content may instead use elements such as <embed>, <audio>, <video>, or <iframe>, depending on the resource being included.
Specifications
The <param> element is listed as an entirely obsolete, non-conforming feature in the WHATWG HTML Living Standard . Authors should use the configuration methods provided by modern elements and web technologies instead.
