Quel est le meilleur moyen d'inclure un fichier JavaScript à l'aide d'une balise script?

50

J'inclus généralement les fichiers JavaScript en utilisant la balise script ci-dessous.

<script type="text/javascript" src="somefile.js"></script>

J'ai vu certaines personnes utiliser l'attribut language également.

De nos jours, de nombreuses personnes omettent l'attribut type. J'ai commencé à avoir le sentiment que si JavaScript est le langage de script par défaut, je devrais même omettre l'attribut type. Serait-il bon d'omettre l'attribut type? Cela poserait-il des problèmes?

Biscuit salé
la source

Réponses:

48

Jetez un coup d'oeil à cela comme référence (Book of Speed): http://www.bookofspeed.com/chapter3.html

Le meilleur moyen consiste essentiellement à combiner tout votre javascript dans un fichier appelé quelque chose comme all.min.js, qui est également réduit au minimum.

Typiquement, en HTML5, vous feriez quelque chose comme:

<script src="js/all.min.js"></script>

Comme vous pouvez le constater, vous n'avez PAS besoin de l'attribut type dans HTML5, mais dans d'autres versions de HTML et XHTML . La spécification précise que si le contenu est autre que "text / javascript", vous devez spécifier l'attribut type en HTML5.

Quelques points à retenir:

Remarque:

Si vous spécifiez un autre type que celui que text/javascriptvous utiliseriez, utilisez l'un des éléments suivants:

  • "application / ecmascript"
  • "application / javascript"
  • "application / x-ecmascript"
  • "application / x-javascript"
  • "text / ecmascript" "text / javascript"
  • "text / javascript1.0"
  • "text / javascript1.1"
  • "text / javascript1.2"
  • "text / javascript1.3"
  • "text / javascript1.4"
  • "text / javascript1.5"
  • "text / jscript"
  • "text / livescript"
  • "text / x-ecmascript"
  • "text / x-javascript"
  • "text / javascript; e4x = 1"

La liste ci-dessus provient de: http://dev.w3.org/html5/spec-author-view/the-script-element.html#scriptingLanguages

N'oubliez pas que vous n'utiliseriez pas l'attribut language, mais uniquement l'attribut type.

Alvincrespo
la source
2
Et que dire de l'attribut de langue. Est-il bon de le spécifier ou de l'omettre?
Cracker
1
L'attribut de langue n'est pas pris en charge en HTML5, mais ils l'ont fusionné avec l'attribut type. Encore une fois, s'il s'agit d'un élément autre que "text / javascript", spécifiez-le à l'aide de l'attribut type et de l'un des éléments suivants à partir de cette page: dev.w3.org/html5/spec-author-view/the-script-element .html
alvincrespo
J'ai mis à jour la réponse pour refléter mon commentaire ci-dessus.
alvincrespo
Est-ce que définir quelque chose comme text/javascript1.3ayant un effet réel, différent de l'omettre?
Arturo Torres Sánchez