W3docs

Tag HTML <param>

A tag HTML <param> (descontinuada) passava parâmetros nomeados a plug-ins incorporados com <object>. Saiba o que ela fazia e suas alternativas modernas.

Descontinuada / obsoleta. A tag <param> não faz mais parte do padrão HTML e não deve ser usada em novas páginas. Ela existia apenas para configurar plug-ins do navegador, e a tecnologia de plug-ins que ela servia (Flash, applets Java, QuickTime, Silverlight) foi removida de todos os navegadores modernos. Esta página é mantida como referência e para compreensão de código legado.

A tag <param> ("parâmetro") passava valores de configuração nomeados a um plug-in incorporado com o elemento <object>. Cada <param> fornecia uma configuração como um par name/value — semelhante a um argumento de chave/valor entregue ao plug-in no momento em que ele carregava.

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

Era possível colocar mais de um <param> dentro de um <object>. Cada um precisava dos atributos name e value, e todos eles tinham que vir antes de qualquer conteúdo de fallback (o texto ou marcação exibido quando o objeto falhasse ao carregar).

Por que ela existia: plug-ins e a NPAPI

Antes que os navegadores tivessem suporte nativo a mídia e a aplicações ricas, conteúdo interativo — reprodutores de vídeo, jogos, visualizadores de documentos — era executado dentro de plug-ins externos por meio de uma interface chamada NPAPI (Netscape Plugin Application Programming Interface). Os exemplos mais comuns eram Adobe Flash, applets Java, Microsoft Silverlight e Apple QuickTime.

A página incorporava o plug-in com <object> (ou o elemento <applet>, que foi removido), e <param> era a única maneira de passar opções de inicialização para ele. Para um filme Flash, era possível definir quality, bgcolor, loop ou uma string flashvars; para um applet Java, era possível passar um caminho code ou configurações específicas do applet.

Aviso: <param> também era usada dentro de <applet>, mas <applet> foi removido completamente do HTML — ela não está apenas descontinuada, não tem comportamento definido em navegadores modernos.

Os navegadores começaram a desativar os plug-ins NPAPI por volta de 2015 e os removeram completamente pouco depois; a Adobe encerrou o suporte ao Flash no final de 2020. Sem mais plug-ins para configurar, <param> não tem mais nenhuma função.

Importante: <param> nunca foi válida dentro de <video> ou <audio>. Esses elementos se configuram por meio de seus próprios atributos e de elementos filhos <source> e <track> — não por meio de <param>.

Alternativas modernas

Quase tudo o que os plug-ins faziam agora tem um substituto nativo em HTML ou na plataforma web:

  • Vídeo e áudio — use os elementos nativos <video> e <audio> com seus próprios atributos (controls, autoplay, loop, muted) e filhos <source>/<track>.
  • Aplicações interativas e jogos — construídos com HTML, CSS, JavaScript, Canvas, WebGL ou WebAssembly.
  • Incorporação de outros documentos — use <object>, <iframe> ou <embed>.
  • Passar configurações para um elemento incorporado — defina atributos data-* no elemento (ou na query string do <iframe> incorporador) e leia-os com JavaScript, em vez 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>

Sintaxe

A tag <param> é vazia, o que significa que a tag de fechamento não é necessária. Mas em XHTML, a tag <param> deve ser auto-fechada (&lt;param /&gt;).

Tag HTML <param>

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

Exemplo da Tag 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>

Exemplo da Tag HTML <param> com os Atributos "name" e "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

AtributoValorDescrição
namenameEspecifica o nome do parâmetro. Obrigatório.
valuevalueEspecifica o valor do parâmetro. Obrigatório.
typemedia_typeO tipo MIME do valor. Obsoleto — usado apenas quando valuetype era ref, para informar ao plug-in que tipo de recurso a URL referenciada apontava.
valuetypedata, object, refComo o plug-in deve interpretar value. Obsoleto.

Apenas name e value foram mantidos no HTML5; type e valuetype foram removidos.

Sobre type e valuetype

Esses dois atributos nunca faziam nada por conta própria — eles apenas descreviam como o plug-in devia ler o value. O atributo valuetype tinha três configurações possíveis:

  • data (o padrão) — value é uma string simples passada diretamente ao plug-in.
  • refvalue é uma URL apontando para um recurso que o plug-in deve carregar. Nesse caso, type informava ao plug-in o tipo MIME desse recurso.
  • objectvalue é o id de outro <object> na página.

Como os plug-ins não existem mais, nenhum desses tem qualquer efeito hoje. Eles estão documentados aqui apenas para que você possa reconhecê-los em código antigo.

Nota: Trate a tag <param> como histórica. Novas páginas devem usar os elementos nativos <video> / <audio>, incorporação padrão com <object> ou <iframe>, e atributos data-* lidos por JavaScript para configurar um elemento incorporado.

Prática

Prática
O que a tag HTML param (agora descontinuada) fazia?
O que a tag HTML param (agora descontinuada) fazia?
Was this page helpful?