Questo elemento include gli attributi globali.
async
Per gli script classici, se l’attributo async
è presente, allora lo script classico sarà recuperato in parallelo al parsing e valutato non appena è disponibile.
Per gli script del modulo, se l’attributo async
è presente, allora gli script e tutte le loro dipendenze saranno eseguiti nella coda di differimento, quindi saranno recuperati in parallelo al parsing e valutati non appena saranno disponibili.
Questo attributo permette l’eliminazione del parser-blocking JavaScript dove il browser dovrebbe caricare e valutare gli script prima di continuare il parsing. defer
ha un effetto simile in questo caso.
Questo è un attributo booleano: la presenza di un attributo booleano su un elemento rappresenta il valore vero, e l’assenza dell’attributo rappresenta il valore falso.
Vedi Compatibilità del browser per note sul supporto del browser. Vedi anche Script asincroni per asm.js.
crossorigin
Gli elementi normaliscript
passano informazioni minime alwindow.onerror
per script che non passano i controlli CORS standard. Per permettere la registrazione degli errori per i siti che usano un dominio separato per i media statici, usate questo attributo. Vedi gli attributi delle impostazioni CORS per una spiegazione più descrittiva dei suoi argomenti validi.defer
Questo attributo booleano è impostato per indicare al browser che lo script deve essere eseguito dopo che il documento è stato analizzato, ma prima di sparare DOMContentLoaded
.
Gli script con l’attributo defer
impediranno all’evento DOMContentLoaded
di scattare fino a quando lo script non sarà stato caricato e avrà finito di essere valutato.
Questo attributo non deve essere usato se l’attributo src
è assente (es.L’attributo defer
non ha effetto sugli script del modulo – essi rinviano per default.
Gli script con l’attributo defer
verranno eseguiti nell’ordine in cui appaiono nel documento.
Questo attributo permette l’eliminazione del parser-blocking JavaScript dove il browser dovrebbe caricare e valutare gli script prima di continuare l’analisi. async
ha un effetto simile in questo caso.
integrity
Questo attributo contiene metadati in linea che un interprete può usare per verificare che una risorsa prelevata sia stata consegnata senza manipolazioni inaspettate. Vedere Integrità delle risorse.nomodule
Questo attributo booleano è impostato per indicare che lo script non dovrebbe essere eseguito nei browser che supportano i moduli ES2015 – in effetti, questo può essere usato per servire script di fallback ai vecchi browser che non supportano il codice JavaScript modulare.
nonce
Un nonce crittografico (numero usato una volta sola) per mettere in whitelist gli script in una Content-Security-Policy script-src. Il server deve generare un valore nonce unico ogni volta che trasmette una politica. È fondamentale fornire un nonce che non possa essere indovinato, poiché bypassare la policy di una risorsa è altrimenti banale.referrerpolicy
Indica quale referrer inviare quando si recupera lo script, o le risorse recuperate dallo script:
-
no-referrer
: L’intestazioneReferer
non sarà inviata. -
no-referrer-when-downgrade
(default): L’intestazioneReferer
non sarà inviata alle origini senza TLS (HTTPS). -
origin
: Il referrer inviato sarà limitato all’origine della pagina di riferimento: il suo schema, host e porta. -
origin-when-cross-origin
: Il referrer inviato ad altre origini sarà limitato allo schema, all’host e alla porta. Le navigazioni sulla stessa origine includeranno ancora il percorso. -
same-origin
: Un referrer sarà inviato per la stessa origine, ma le richieste cross-origin non conterranno informazioni sul referrer. -
strict-origin
: Invia solo l’origine del documento come referente quando il livello di sicurezza del protocollo rimane lo stesso (es. HTTPS→HTTPS), ma non inviarlo ad una destinazione meno sicura (es. HTTPS→HTTP). -
strict-origin-when-cross-origin
: Invia un URL completo quando si effettua una richiesta same-origin, ma invia solo l’origine quando il livello di sicurezza del protocollo rimane lo stesso (es.g.HTTPS→HTTPS), e non inviare alcuna intestazione ad una destinazione meno sicura (es. HTTPS→HTTP). -
unsafe-url
: Il referrer includerà l’origine e il percorso (ma non il frammento, la password o il nome utente). Questo valore non è sicuro, perché fa trapelare origini e percorsi da risorse protette da TLS a origini insicure.
Nota: Un valore stringa vuoto (""
) è sia il valore predefinito, sia un valore di ripiego se referrerpolicy
non è supportato. Se referrerpolicy
non è esplicitamente specificato sull’elemento <script>
, adotterà una politica di referrer di livello superiore, cioè una politica impostata sull’intero documento o dominio. Se una politica di livello superiore non è disponibile, la stringa vuota è trattata come equivalente a no-referrer-when-downgrade
.
src
Questo attributo specifica l’URI di uno script esterno; questo può essere usato come alternativa all’incorporazione di uno script direttamente in un documento.
type
Questo attributo indica il tipo di script rappresentato. Il valore di questo attributo sarà in una delle seguenti categorie:
- Omesso o un tipo MIME JavaScript: Questo indica che lo script è JavaScript. La specifica HTML5 sollecita gli autori ad omettere l’attributo piuttosto che fornire un tipo MIME ridondante. Nei browser precedenti, questo identificava il linguaggio di scripting del codice incorporato o importato (tramite l’attributo
src
). I tipi MIME di JavaScript sono elencati nella specifica. -
module
: Fa sì che il codice sia trattato come un modulo JavaScript. L’elaborazione dei contenuti dello script non è influenzata dagli attributicharset
edefer
. Per informazioni sull’uso dimodule
, vedi la nostra guida ai moduli JavaScript. A differenza degli script classici, gli script dei moduli richiedono l’uso del protocollo CORS per il cross-origin fetching. - Qualsiasi altro valore: Il contenuto incorporato è trattato come un blocco di dati che non sarà processato dal browser. Gli sviluppatori devono usare un tipo MIME valido che non sia un tipo MIME JavaScript per indicare i blocchi di dati. L’attributo
src
sarà ignorato.