aboutsummaryrefslogtreecommitdiff
path: root/files/ca/web/html/element/script/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ca/web/html/element/script/index.html')
-rw-r--r--files/ca/web/html/element/script/index.html255
1 files changed, 255 insertions, 0 deletions
diff --git a/files/ca/web/html/element/script/index.html b/files/ca/web/html/element/script/index.html
new file mode 100644
index 0000000000..44d8b22278
--- /dev/null
+++ b/files/ca/web/html/element/script/index.html
@@ -0,0 +1,255 @@
+---
+title: <script>
+slug: Web/HTML/Element/script
+tags:
+ - Element
+ - HTML
+ - HTML scripting
+ - Reference
+ - Web
+translation_of: Web/HTML/Element/script
+---
+<p>L'element <code><strong>&lt;script&gt;</strong></code> (o <em>element HTML script "Seqüència de comandaments"</em> ) s'utilitza per inserir o fer referència a un script executable dins d'un document <abbr title="Hypertext Markup Language">HTML</abbr> or <abbr title="Extensible Hypertext Markup Language">XHTML</abbr>.</p>
+
+<p>Els scripts sense atributs <code>async</code> o <code>defer</code>, així com els scripts en línia, es capten i s'executen immediatament, abans que el navegador segueixi analitzant la pàgina.</p>
+
+<p>El script ha de ser servit amb el tipus <code>text/javascript</code> MIME, però els navegadors són indulgents i només bloquejan si el script es serveix amb un tipus d'imatge (<code>image/*</code>), de vídeo (<code>video/*</code>), arxiu d'àudio (<code>audio/*</code>), o <code>text/csv</code>. Si el script és bloquejat, un {{event("error")}} s'envia a l'element, sinó s'envia un esdeveniment {{event("success")}}.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row"><a href="/en-US/docs/Web/HTML/Content_categories" title="HTML/Content_categories">Categories de contingut</a></th>
+ <td><a href="/en-US/docs/Web/HTML/Content_categories#Metadata_content" title="HTML/Content_categories#Metadata_content">Contingut Metadata</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Flow_content" title="HTML/Content_categories#Flow_content">Contingut dinàmic</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Phrasing_content" title="HTML/Content_categories#Phrasing_content">Phrasing content</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Contingut permès</th>
+ <td>Script dinàmic com <code>text/javascript</code>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Omissió de l'etiqueta</th>
+ <td>{{no_tag_omission}}</td>
+ </tr>
+ <tr>
+ <th scope="row">Elements pares permesos</th>
+ <td>Qualsevol element que accepti <a href="/en-US/docs/Web/HTML/Content_categories#Metadata_content" title="HTML/Content_categories#Metadata_content">contingut Metadata</a>, o qualsevol element que accepti <a href="/en-US/docs/Web/HTML/Content_categories#Phrasing_content">phrasing content</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Interfície DOM</th>
+ <td>{{domxref("HTMLScriptElement")}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Atributs">Atributs</h2>
+
+<p>Aquest element inclou els <a href="/en-US/docs/Web/HTML/Global_attributes">atributs globals</a>.</p>
+
+<dl>
+ <dt>{{htmlattrdef("async")}} {{HTMLVersionInline(5)}}</dt>
+ <dd>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 <strong>src</strong>).</dd>
+ <dd>Veure {{anch("Browser compatibility")}} <span id="result_box" lang="ca"><span>notes</span> <span>sobre el suport del</span> <span>navegador.</span></span> Veure <a href="/en-US/docs/Games/Techniques/Async_scripts">Async scripts per asm.js</a>.</dd>
+ <dt>{{htmlattrdef("integrity")}}</dt>
+ <dd>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 <a href="/en-US/docs/Web/Security/Subresource_Integrity">Integritat de subrecursos</a>.</dd>
+ <dt>{{htmlattrdef("src")}}</dt>
+ <dd>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 <code>src</code> especificat, no ha de tenir un script incrustat dins les seves etiquetes.</dd>
+ <dt>{{htmlattrdef("type")}}</dt>
+ <dd>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 <code>text/javascript</code>, <code>text/ecmascript</code>, <code>application/javascript</code>, i <code>application/ecmascript</code>. Si aquest atribut està absent, el script és tractat com JavaScript.</dd>
+ <dd>Si el tipus <abbr title="Multi-purpose Internet Mail Extensions">MIME</abbr> 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.</dd>
+ <dd>Si el tipus especificat és mòdul el codi es tracta com un mòdul de JavaScript {{experimental_inline}}. Veure <a class="external external-icon" href="https://hacks.mozilla.org/2015/08/es6-in-depth-modules/">ES6 en Profunditat: Mòduls</a><br>
+ <br>
+ 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 <code>type=application/javascript;version=1.8</code> {{Non-standard_inline}}. 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.</dd>
+ <dd><span id="result_box" lang="ca"><span>Per</span> <span>la manera d'incloure</span> <span>els</span> <em><span>llenguatges</span> <span>de programació</span> <span>exòtics</span></em><span>, llegir</span> <span>sobre</span></span> <a href="/en-US/Add-ons/Code_snippets/Rosetta">Rosetta</a>.</dd>
+ <dt>{{htmlattrdef("text")}}</dt>
+ <dd>Igual que l'atribut <code>textContent</code>, aquest atribut estableix el contingut de text de l'element. A diferència de l'atribut <code>textContent</code>, aquest atribut s'avalua com a codi executable després que el node s'insereix en el DOM.</dd>
+ <dt>{{htmlattrdef("language")}} {{Deprecated_inline}}</dt>
+ <dd>Igual que l'atribut <code>type</code>, aquest atribut identifica el llenguatge de script en ús. A diferència de l'atribut <code>type</code>, els possibles valors d'aquest atribut mai van ser estandarditzats. L'atribut <code>type</code> s'ha d'utilitzar al seu lloc</dd>
+ <dt>{{htmlattrdef("defer")}}</dt>
+ <dd>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 {{event("DOMContentLoaded")}}. L'atribut <code>defer</code> no ha de ser utilitzat en els scripts que no tenen l'atribut <code>src</code>.</dd>
+ <dt>{{htmlattrdef("crossorigin")}}</dt>
+ <dd>Elements normals dels scripts passen un mínim d'informació a  {{domxref('GlobalEventHandlers.onerror', 'window.onerror')}} pels scripts que no passen els controls estàndard <a href="/en-US/docs/HTTP_access_control">CORS</a> Per permetre el registre d'errors per als llocs que utilitzen un domini separat per als medis estàtics, utilitzeu aquest atribut.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: html">&lt;!-- HTML4 and (x)HTML --&gt;
+&lt;script type="text/javascript" src="javascript.js"&gt;&lt;/script&gt;
+
+&lt;!-- HTML5 --&gt;
+&lt;script src="javascript.js"&gt;&lt;/script&gt;
+</pre>
+
+<h2 id="Especificacions">Especificacions</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Especificació</th>
+ <th scope="col">Estat</th>
+ <th scope="col">Comentari</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('HTML WHATWG', "scripting.html#the-script-element", "&lt;script&gt;")}}</td>
+ <td>{{Spec2('HTML WHATWG')}}</td>
+ <td>Afegeix el mòdul type</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML5 W3C', 'scripting-1.html#script', '&lt;script&gt;')}}</td>
+ <td>{{Spec2('HTML5 W3C')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML4.01', 'interact/scripts.html#h-18.2.1', '&lt;script&gt;')}}</td>
+ <td>{{Spec2('HTML4.01')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('Subresource Integrity', '#htmlscriptelement', '&lt;script&gt;')}}</td>
+ <td>{{Spec2('Subresource Integrity')}}</td>
+ <td>Afegeix l'atribut integrity.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Navegadors_compatibles">Navegadors compatibles</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Suport bàsic</td>
+ <td>{{CompatChrome(1.0)}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}<sup>[2]</sup></td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ <tr>
+ <td>atribut async</td>
+ <td>{{CompatVersionUnknown}}<sup>[1]</sup></td>
+ <td>{{CompatGeckoDesktop("1.9.2")}}<sup>[1]</sup></td>
+ <td>10<sup>[1]</sup></td>
+ <td>15<sup>[1]</sup></td>
+ <td>{{CompatVersionUnknown}}<sup>[1]</sup></td>
+ </tr>
+ <tr>
+ <td>atribut defer</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.9.1")}}<sup>[6]</sup></td>
+ <td>
+ <p>4<sup>[3]</sup><br>
+ 10</p>
+ </td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ <tr>
+ <td>atribut crossorigin</td>
+ <td>{{CompatChrome(30.0)}}</td>
+ <td>{{CompatGeckoDesktop("13")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>12.50</td>
+ <td>{{CompatVersionUnknown}}<sup>[4]</sup></td>
+ </tr>
+ <tr>
+ <td>atribut integrity</td>
+ <td>{{CompatChrome(45.0)}}</td>
+ <td>{{CompatGeckoDesktop("43")}}</td>
+ <td> </td>
+ <td> </td>
+ <td>{{CompatNo}}<sup>[5]</sup></td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Android</th>
+ <th>Android Webview</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ <th>Chrome for Android</th>
+ </tr>
+ <tr>
+ <td>Suport bàsic</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}<sup>[2]</sup></td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ <tr>
+ <td>atribut async</td>
+ <td>{{CompatVersionUnknown}}<sup>[1]</sup></td>
+ <td>{{CompatVersionUnknown}}<sup>[1]</sup></td>
+ <td>{{CompatGeckoMobile("1.0")}}<sup>[1]</sup></td>
+ <td>{{CompatNo}}<sup>[1]</sup></td>
+ <td>{{CompatUnknown}}<sup>[1]</sup></td>
+ <td>{{CompatVersionUnknown}}<sup>[1]</sup></td>
+ <td>{{CompatVersionUnknown}}<sup>[1]</sup></td>
+ </tr>
+ <tr>
+ <td>atribut defer</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ <tr>
+ <td>atribut integrity</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatChrome(45.0)}}</td>
+ <td>{{CompatGeckoDesktop("43")}}</td>
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ <td>{{CompatChrome(45.0)}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<p>[1] En navegadors antics que no suporten l'atribut <code>async</code>, 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 <code>async</code> es converteix per defecte en <code>true</code> 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 <code>document.createElement("script").async</code> estigui avaluat a <code>true</code> (com Firefox 4.0), establir <code>.async=false</code> en els scripts que desitjeu mantenir l'ordre. Mai crideu a <code>document.write()</code> des d'un script <code>async</code>. En Gecko 1.9.2, cridar a <code>document.write()</code> té un efecte impredictible. En Gecko 2.0, cridar a <code>document.write()</code> des d'un script <code>async</code> no té cap efecte (que no sigui la impressió d'un advertiment a la consola d'errors).</p>
+
+<p>[2] A partir de Gecko 2.0 {{geckoRelease ( "2.0")}}, inserir elements de script que s'han creat en cridar a <code>document.createElement("script")</code> 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 <code>.async=false</code> en ells.</p>
+
+<p>A més, els elements {{HTMLElement ("script")}} dins d'elements {{HTMLElement ("iframe")}}, {{HTMLElement ("noembed")}} i {{HTMLElement ("noframes")}} són ara executats, per les mateixes raons.</p>
+
+<p>[3] En les versions anteriors a Internet Explorer 10 Trident implementava <code>&lt;script&gt;</code> per una especificació propietària. Des de la versió 10 s'ajusta a l'especificació W3C.</p>
+
+<p>[4] L'atribut <code>crossorigin</code> es va implementar en WebKit en {{WebKitBug(81438)}}.</p>
+
+<p>[5] {{WebKitBug(148363)}} seguiment de l'implementació a WebKit el Subresource Integrity (que inclou l'atribut <code>integrity</code>).</p>
+
+<p>[6] Des Gecko 1.9.2 {{geckoRelease ("1.9.2")}}, l'atribut <code>defer</code> és ignorat en scripts que no tenen l'atribut <code>src</code>. No obstant això, en Gecko 1.9.1 {{geckoRelease ("1.9.1")}} els scripts en línia es diferiran si s'estableix l'atribut <code>defer</code>.</p>
+
+<h2 id="Veure">Veure</h2>
+
+<ul>
+ <li>{{domxref("document.currentScript")}}</li>
+ <li><a href="http://pieisgood.org/test/script-link-events/">Gràfic de compatibilitat d'esdeveniments de node &lt;script&gt; i &lt;link&gt; de Ryan Grove</a></li>
+</ul>
+
+<p>{{HTMLRef}}</p>