MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

This translation is incomplete. Please help translate this article from English.

L'element <script> (o element HTML script "Seqüència de comandaments" ) s'utilitza per inserir o fer referència a un script executable dins d'un document HTML or XHTML.

Els scripts sense atributs async o defer, així com els scripts en línia, es capten i s'executen immediatament, abans que el navegador segueixi analitzant la pàgina.

El script ha de ser servit amb el tipus text/javascript MIME, però els navegadors són indulgents i només bloquejan si el script es serveix amb un tipus d'imatge (image/*), de vídeo (video/*), arxiu d'àudio (audio/*), o text/csv. Si el script és bloquejat, un error s'envia a l'element, sinó s'envia un esdeveniment success.

Categories de contingut Contingut Metadata, Contingut dinàmic, Phrasing content.
Contingut permès Script dinàmic com text/javascript.
Omissió de l'etiqueta Cap, tant l'etiqueta inicial com l’etiqueta final són obligatòries
Elements pares permesos Qualsevol element que accepti contingut Metadata, o qualsevol element que accepti phrasing content.
Interfície DOM HTMLScriptElement

Atributs

Aquest element inclou els atributs globals.

async HTML5
Establir aquest atribut booleà per indicar que el navegador hauria, si és possible, executar l'script de manera asincrònica. No té cap efecte sobre els scripts en línia (és a dir, scripts que no tenen l'atribut src).
Veure Browser compatibility notes sobre el suport del navegador. Veure Async scripts per asm.js.
integrity
Conté metadades en línia que un agent d'usuari pot utilitzar per verificar que un recurs recuperat ha estat lliurat sense manipulació inesperada. Veure Integritat de subrecursos.
src
Aquest atribut especifica l'URI d'un script extern; això es pot utilitzar com una alternativa per a la incorporació d'un script directament dins d'un document. Si un element de script té un atribut src especificat, no ha de tenir un script incrustat dins les seves etiquetes.
type
Aquest atribut identifica el llenguatge de script de codi incrustat dins d'un element de script o referenciat a través de l'atribut src de l'element. Això s'especifica com un tipus MIME; exemples dels tipus MIME suportats inclouen text/javascript, text/ecmascript, application/javascript, i application/ecmascript. Si aquest atribut està absent, el script és tractat com JavaScript.
Si el tipus MIME especificat no és un tipus JavaScript escriviu el contingut incrustat dins les seves etiquetes, es tracta com un bloc de dades que no serà processada pel navegador.
Si el tipus especificat és mòdul el codi es tracta com un mòdul de JavaScript . Veure ES6 en Profunditat: Mòduls

Recordeu que Firefox pot utilitzar les funcions avançades com ara deixar que les declaracions i altres característiques en les versions posteriors JS, mitjançant l'ús type=application/javascript;version=1.8  . Aneu amb compte, però, que aquesta és una característica no estàndard, això farà que probablement s'interrompi el suport per a altres navegadors, en particular els navegadors basats en Chromium.
Per la manera d'incloure els llenguatges de programació exòtics, llegir sobre Rosetta.
text
Igual que l'atribut textContent, aquest atribut estableix el contingut de text de l'element. A diferència de l'atribut textContent, aquest atribut s'avalua com a codi executable després que el node s'insereix en el DOM.
language
Igual que l'atribut type, aquest atribut identifica el llenguatge de script en ús. A diferència de l'atribut type, els possibles valors d'aquest atribut mai van ser estandarditzats. L'atribut type s'ha d'utilitzar al seu lloc
defer
Aquest atribut booleà s'estableix per indicar a un navegador que el script està destinat a ser executat després que el document s'ha analitzat, però abans de activar DOMContentLoaded. L'atribut defer no ha de ser utilitzat en els scripts que no tenen l'atribut src.
crossorigin
Elements normals dels scripts passen un mínim d'informació a  window.onerror pels scripts que no passen els controls estàndard CORS Per permetre el registre d'errors per als llocs que utilitzen un domini separat per als medis estàtics, utilitzeu aquest atribut.

Exemples

<!-- HTML4 and (x)HTML -->
<script type="text/javascript" src="javascript.js"></script>

<!-- HTML5 -->
<script src="javascript.js"></script>

Especificacions

Especificació Estat Comentari
WHATWG HTML Living Standard
The definition of '<script>' in that specification.
Living Standard Afegeix el mòdul type
HTML5
The definition of '<script>' in that specification.
Recommendation  
HTML 4.01 Specification
The definition of '<script>' in that specification.
Recommendation  
Subresource Integrity
The definition of '<script>' in that specification.
Recommendation Afegeix l'atribut integrity.
Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport bàsic 1.0 1.0 (1.7 or earlier)[2] (Yes) (Yes) (Yes)
atribut async (Yes)[1] 3.6 (1.9.2)[1] 10[1] 15[1] (Yes)[1]
atribut defer (Yes) 3.5 (1.9.1)[6]

4[3]
10

No support (Yes)
atribut crossorigin 30.0 13 (13) No support 12.50 (Yes)[4]
atribut integrity 45.0 43 (43)     No support[5]
Característica Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Suport bàsic (Yes) (Yes) 1.0 (1.0)[2] (Yes) (Yes) (Yes) (Yes)
atribut async (Yes)[1] (Yes)[1] 1.0 (1.0)[1] No support[1] ?[1] (Yes)[1] (Yes)[1]
atribut defer (Yes) (Yes) 1.0 (1.0) No support ? (Yes) (Yes)
atribut integrity No support 45.0 43 (43)       45.0

[1] En navegadors antics que no suporten l'atribut async, els scripts inserits en l'analitzador bloquegen l'analitzador; en scripts inserits s'executen els scripts de forma asncrònica en IE i WebKit, però de forma sincrònica a Opera i Firefox pre-4.0. En Firefox 4.0, la propietat DOM async es converteix per defecte en true pels scripts creats per script, per la qual cosa el comportament predeterminat coincideix amb el comportament de IE i WebKit.. En la sol·licitud d'inserció de scripts externs, els scripts s'executaran en l'ordre d'inserció en els navegadors on document.createElement("script").async estigui avaluat a true (com Firefox 4.0), establir .async=false en els scripts que desitjeu mantenir l'ordre. Mai crideu a document.write() des d'un script async. En Gecko 1.9.2, cridar a document.write() té un efecte impredictible. En Gecko 2.0, cridar a document.write() des d'un script async no té cap efecte (que no sigui la impressió d'un advertiment a la consola d'errors).

[2] A partir de Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1), inserir elements de script que s'han creat en cridar a document.createElement("script") al DOM ja no imposa l'execució en ordre d'inserció. Aquest canvi permet a Gecko complir adequadament amb l'especificació HTML5. Perquè els scripts externs inserits en scripts s'executin en el seu ordre d'inserció, establiu .async=false en ells.

A més, els elements <script> dins d'elements <iframe>, <noembed> i <noframes> són ara executats, per les mateixes raons.

[3] En les versions anteriors a Internet Explorer 10 Trident implementava <script> per una especificació propietària. Des de la versió 10 s'ajusta a l'especificació W3C.

[4] L'atribut crossorigin es va implementar en WebKit en WebKit errada 81438.

[5] WebKit errada 148363 seguiment de l'implementació a WebKit el Subresource Integrity (que inclou l'atribut integrity).

[6] Des Gecko 1.9.2 (Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0), l'atribut defer és ignorat en scripts que no tenen l'atribut src. No obstant això, en Gecko 1.9.1 (Firefox 3.5 / Thunderbird 3.0 / SeaMonkey 2.0) els scripts en línia es diferiran si s'estableix l'atribut defer.

Veure

Document Tags and Contributors

 Contributors to this page: Legioinvicta
 Last updated by: Legioinvicta,