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 (<param />).
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
| Atributo | Valor | Descrição |
|---|---|---|
| name | name | Especifica o nome do parâmetro. Obrigatório. |
| value | value | Especifica o valor do parâmetro. Obrigatório. |
| type | media_type | O tipo MIME do valor. Obsoleto — usado apenas quando valuetype era ref, para informar ao plug-in que tipo de recurso a URL referenciada apontava. |
| valuetype | data, object, ref | Como 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.ref—valueé uma URL apontando para um recurso que o plug-in deve carregar. Nesse caso,typeinformava ao plug-in o tipo MIME desse recurso.object—valueé oidde 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 atributosdata-*lidos por JavaScript para configurar um elemento incorporado.