--- title: ' ``` ### Utilisation des modules et d'une alternative Les navigateurs qui prennent en charge le type `module` prennent également en charge un attribut `nomodule` qui permet aux navigateurs qui ne gèrent pas les modules d'utiliser un autre script. ```html ``` ## Résumé technique
Catégories de contenu Contenu de flux, contenu phrasé, contenu de méta-données.
Contenu autorisé Script dynamique tel que text/javascript.
Omission de balises {{no_tag_omission}}
Parents autorisés Tout élément acceptant du contenu de méta-données ou tout élément acceptant du contenu phrasé.
Rôles ARIA autorisés Aucun.
Interface DOM {{domxref("HTMLScriptElement")}}
## Spécifications | Spécification | État | Commentaires | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | ----------------------------------------------------------------------------- | | {{SpecName("HTML WHATWG", "scripting.html#the-script-element", "<script>")}} | {{Spec2("HTML WHATWG")}} | Retrait de l'attribut {{HTMLAttrxRef("charset", "script")}}. | | {{SpecName("HTML5.3", "semantics-scripting.html#the-script-element", "<script>")}} | {{Spec2("HTML5.3")}} | Retrait de l'attribut {{HTMLAttrxRef("charset", "script")}}. | | {{SpecName("HTML5.2", "semantics-scripting.html#the-script-element", "<script>")}} | {{Spec2("HTML5.2")}} | Ajout de la valeur `module` pour {{HTMLAttrxRef("type", "script")}} | | {{SpecName("HTML5.1", "semantics-scripting.html#the-script-element", "<script>")}} | {{Spec2("HTML5.1")}} | | | {{SpecName("HTML5 W3C", "scripting-1.html#script", "<script>")}} | {{Spec2("HTML5 W3C")}} | | | {{SpecName("HTML4.01", "interact/scripts.html#h-18.2.1", "<script>")}} | {{Spec2("HTML4.01")}} | | | {{SpecName("Subresource Integrity", "#htmlscriptelement", "<script>")}} | {{Spec2("Subresource Integrity")}} | Ajout de l'attribut {{HTMLAttrxRef("integrity", "script")}}. | ## Compatibilité des navigateurs {{Compat("html.elements.script",2)}} ### Notes de compatibilité Pour les anciens navigateurs qui ne prennent pas en charge l'attribut `async` attribute, les scripts insérés lors de l'analyse (_parsing_) bloquent l'analyseur, les scripts insérés par d'autres scripts s'exécutent en asynchrone sous IE et WebKit et en synchrone sous Opera et sous Firefox pour les versions antérieures à Firefox 4.0. Sous Firefox 4.0, la propriété `async` du DOM vaut `true` par défaut pour les scripts créés avec `document.createElement("script").async` afin que le comportement par défaut corresponde au comportement d'IE et de WebKit. Afin que les scripts insérés par des scripts externes soient lancés dans l'ordre d'insertion, on définira `.async=false` pour les scripts dont on souhaite conserver l'ordre d'exécution. `document.write()` ne doit jamais être appelé sur un script asynchrone avec `async`. Sous Gecko 1.9.2, si on appelle `document.write()`, cela aura un effet imprévisible. Pour Gecko 2.0, appeler `document.write()` depuis un script asynchrone n'aura aucun effet (en dehors d'afficher un message d'erreur dans la console). ## Voir aussi - {{domxref("document.currentScript")}} - [Les formats de date et d'heure utilisés en HTML](/fr/docs/Web/HTML/Formats_date_heure_HTML) - [Guide sur les modules JavaScript](/fr/docs/Web/JavaScript/Guide/Modules) - [Tableau de compatibilité de Ryan Grove pour les évènements liés aux éléments `