W3docs

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 (&lt;param /&gt;).

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

AttributoValoreDescrizione
namenameSpecifica il nome del parametro. Obbligatorio.
valuevalueSpecifica il valore del parametro. Obbligatorio.
typemedia_typeIl tipo MIME del valore. Obsoleto — utilizzato solo quando valuetype era ref, per indicare al plug-in che tipo di risorsa puntava l'URL referenziato.
valuetypedata, object, refCome 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.
  • refvalue è un URL che punta a una risorsa che il plug-in deve caricare. In questo caso type indicava al plug-in il tipo MIME di quella risorsa.
  • objectvalue è l'id di 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 attributi data-* letti da JavaScript per configurare un elemento incorporato.

Esercitazione

Pratica
Cosa faceva il tag HTML param (ora deprecato)?
Cosa faceva il tag HTML param (ora deprecato)?
Was this page helpful?