Tag HTML <param>
Il tag HTML <param> (deprecato) passava parametri denominati ai plug-in incorporati con <object>. Scopri cosa faceva e le alternative moderne.
Deprecato / obsoleto. Il tag
<param>non fa più parte dello standard HTML e non dovrebbe essere utilizzato nelle nuove pagine. Esisteva solo per configurare i plug-in del browser, e la tecnologia dei plug-in che serviva (Flash, Java applet, QuickTime, Silverlight) è stata rimossa da tutti i browser moderni. Questa pagina è mantenuta a scopo di riferimento e per comprendere il codice legacy.
Il tag <param> ("parametro") passava valori di configurazione denominati a un plug-in incorporato tramite l'elemento <object>. Ogni <param> forniva un'impostazione come coppia name/value — simile a un argomento chiave/valore passato al plug-in al momento del caricamento.
<object data="movie.swf" type="application/x-shockwave-flash">
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">
</object>Era possibile inserire più di un <param> all'interno di un <object>. Ognuno richiedeva gli attributi name e value, e tutti dovevano comparire prima di qualsiasi contenuto di fallback (il testo o il markup mostrato quando l'object non riusciva a caricarsi).
Perché esisteva: i plug-in e NPAPI
Prima che i browser avessero un supporto nativo per media e applicazioni avanzate, i contenuti interattivi — lettori video, giochi, visualizzatori di documenti — venivano eseguiti all'interno di plug-in esterni attraverso un'interfaccia chiamata NPAPI (Netscape Plugin Application Programming Interface). Gli esempi più comuni erano Adobe Flash, Java applet, Microsoft Silverlight e Apple QuickTime.
La pagina incorporava il plug-in con <object> (o l'elemento <applet> ora rimosso), e <param> era l'unico modo per passare le opzioni di avvio al plug-in. Per un filmato Flash si potevano impostare quality, bgcolor, loop o una stringa flashvars; per una Java applet si poteva passare un percorso code o impostazioni specifiche dell'applet.
Avvertenza:
<param>veniva utilizzato anche all'interno di<applet>, ma<applet>è stato rimosso completamente da HTML — non è solo deprecato, non ha alcun comportamento definito nei browser moderni.
I browser hanno iniziato a disabilitare i plug-in NPAPI intorno al 2015 e li hanno rimossi completamente poco dopo; Adobe ha terminato il supporto a Flash alla fine del 2020. Con nessun plug-in da configurare, <param> non ha più nulla da fare.
Importante:
<param>non era mai valido all'interno di<video>o<audio>. Questi elementi si configurano tramite i propri attributi e tramite gli elementi figlio<source>e<track>— non tramite<param>.
Alternative moderne
Quasi tutto ciò che i plug-in facevano un tempo ha ora un sostituto nativo nella piattaforma HTML o web:
- Video e audio — utilizza gli elementi nativi
<video>e<audio>con i propri attributi (controls,autoplay,loop,muted) e i figli<source>/<track>. - App interattive e giochi — realizzati con HTML, CSS, JavaScript, Canvas, WebGL o WebAssembly.
- Incorporamento di altri documenti — utilizza
<object>,<iframe>o<embed>. - Passare la configurazione a un elemento incorporato — imposta gli attributi
data-*sull'elemento (o sulla query string dell'<iframe>che incorpora) e leggili con JavaScript, invece di usare<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>Sintassi
Il tag <param> è vuoto, il che significa che il tag di chiusura non è necessario. Ma in XHTML, il tag <param> deve essere auto-chiudente (<param />).
Tag HTML <param>
<object>
<param name="..." value="...">
</object>Esempio del 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>Esempio del tag HTML <param> con gli attributi "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>Attributi
| Attributo | Valore | Descrizione |
|---|---|---|
| name | name | Specifica il nome del parametro. Obbligatorio. |
| value | value | Specifica il valore del parametro. Obbligatorio. |
| type | media_type | Il tipo MIME del valore. Obsoleto — utilizzato solo quando valuetype era ref, per indicare al plug-in che tipo di risorsa puntava l'URL referenziato. |
| valuetype | data, object, ref | Come il plug-in dovrebbe interpretare value. Obsoleto. |
Solo name e value sono stati mantenuti in HTML5; type e valuetype sono stati eliminati.
Informazioni su type e valuetype
Questi due attributi non facevano nulla da soli — descrivevano solo come il plug-in doveva leggere il value. L'attributo valuetype aveva tre possibili impostazioni:
data(il valore predefinito) —valueè una stringa semplice passata direttamente al plug-in.ref—valueè un URL che punta a una risorsa che il plug-in deve caricare. In questo casotypeindicava al plug-in il tipo MIME di quella risorsa.object—valueè l'iddi un altro<object>nella pagina.
Poiché i plug-in non esistono più, nessuno di questi ha alcun effetto oggi. Sono documentati qui solo per permetterti di riconoscerli nel codice vecchio.
Nota: Considera il tag
<param>come storico. Le nuove pagine dovrebbero usare i nativi<video>/<audio>, l'incorporamento standard con<object>o<iframe>, e gli attributidata-*letti da JavaScript per configurare un elemento incorporato.