W3docs

Etiqueta HTML <param>

La etiqueta HTML <param> (obsoleta) pasaba parámetros con nombre a complementos incrustados con <object>. Conozca qué hacía y sus alternativas modernas.

Obsoleto / en desuso. La etiqueta <param> ya no forma parte del estándar HTML y no debe utilizarse en páginas nuevas. Existía únicamente para configurar complementos del navegador, y la tecnología de complementos que servía (Flash, Java applets, QuickTime, Silverlight) ha sido eliminada de todos los navegadores modernos. Esta página se conserva como referencia y para comprender código heredado.

La etiqueta <param> ("parámetro") pasaba valores de configuración con nombre a un complemento incrustado mediante el elemento <object>. Cada <param> proporcionaba un ajuste como un par name/value — similar a un argumento clave/valor entregado al complemento al cargarse.

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

Era posible colocar más de un <param> dentro de un <object>. Cada uno requería los atributos name y value, y todos debían aparecer antes de cualquier contenido alternativo (el texto o marcado que se mostraba cuando el objeto no se cargaba correctamente).

Por qué existía: los complementos y NPAPI

Antes de que los navegadores tuvieran soporte nativo para medios y aplicaciones enriquecidas, el contenido interactivo — reproductores de vídeo, juegos, visores de documentos — se ejecutaba dentro de complementos externos a través de una interfaz llamada NPAPI (Netscape Plugin Application Programming Interface). Los ejemplos más comunes eran Adobe Flash, Java applets, Microsoft Silverlight y Apple QuickTime.

La página incrustaba el complemento con <object> (o el elemento <applet>, ya eliminado), y <param> era la única forma de pasar opciones de inicio al complemento. Para una película Flash se podía establecer quality, bgcolor, loop o una cadena flashvars; para un Java applet se podía pasar una ruta code u otras opciones específicas del applet.

Advertencia: <param> también se usaba dentro de <applet>, pero <applet> fue eliminado completamente de HTML — no solo está en desuso, sino que no tiene ningún comportamiento definido en los navegadores modernos.

Los navegadores comenzaron a deshabilitar los complementos NPAPI alrededor de 2015 y los eliminaron por completo poco después; Adobe finalizó el soporte de Flash a finales de 2020. Sin complementos que configurar, <param> ya no tiene ninguna función.

Importante: <param> nunca fue válido dentro de <video> ni de <audio>. Esos elementos se configuran mediante sus propios atributos y mediante los elementos hijo <source> y <track> — no a través de <param>.

Alternativas modernas

Casi todo lo que los complementos hacían antes tiene ahora un reemplazo nativo en HTML o en la plataforma web:

  • Vídeo y audio — use los elementos nativos <video> y <audio> con sus propios atributos (controls, autoplay, loop, muted) y los hijos <source>/<track>.
  • Aplicaciones interactivas y juegos — construidos con HTML, CSS, JavaScript, Canvas, WebGL o WebAssembly.
  • Incrustar otros documentos — use <object>, <iframe> o <embed>.
  • Pasar configuración a un elemento incrustado — establezca atributos data-* en el elemento (o en la cadena de consulta del <iframe> que lo incrusta) y léalos con JavaScript, en lugar de usar <param>.
<!-- 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>

Sintaxis

La etiqueta <param> es vacía, lo que significa que no se requiere la etiqueta de cierre. Sin embargo, en XHTML, la etiqueta <param> debe ser autocerrada (&lt;param /&gt;).

Etiqueta HTML <param>

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

Ejemplo de la etiqueta HTML <param>

<!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>

Ejemplo de la etiqueta HTML <param> con los atributos "name" y "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>

Atributos

AtributoValorDescripción
namenameEspecifica el nombre del parámetro. Obligatorio.
valuevalueEspecifica el valor del parámetro. Obligatorio.
typemedia_typeEl tipo MIME del valor. Obsoleto — solo se usaba cuando valuetype era ref, para indicar al complemento qué tipo de recurso apuntaba la URL referenciada.
valuetypedata, object, refCómo debe interpretar el complemento el valor value. Obsoleto.

Solo name y value se incorporaron a HTML5; type y valuetype fueron eliminados.

Sobre type y valuetype

Estos dos atributos nunca hicieron nada por sí solos — solo describían cómo debía leer el complemento el valor value. El atributo valuetype tenía tres posibles valores:

  • data (el predeterminado) — value es una cadena de texto simple que se pasa directamente al complemento.
  • refvalue es una URL que apunta a un recurso que el complemento debe cargar. En este caso, type indicaba al complemento el tipo MIME de ese recurso.
  • objectvalue es el id de otro <object> en la página.

Dado que los complementos ya no existen, ninguno de estos tiene efecto hoy en día. Se documentan aquí solo para que puedas reconocerlos en código antiguo.

Nota: Trate la etiqueta <param> como algo histórico. Las páginas nuevas deben usar <video> / <audio> nativos, incrustación estándar con <object> o <iframe>, y atributos data-* leídos por JavaScript para configurar un elemento incrustado.

Práctica

Práctica
¿Qué hacía la etiqueta HTML param (ahora obsoleta)?
¿Qué hacía la etiqueta HTML param (ahora obsoleta)?
Was this page helpful?