Qual è il modo migliore per includere il file JavaScript usando il tag script?


50

In genere includo i file JavaScript utilizzando il tag script come di seguito.

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

Ho visto alcune persone usare anche l'attributo language.

Adesso trovo molte persone che omettono l'attributo type. Ho iniziato a sentire che se JavaScript è il linguaggio di scripting predefinito allora anche io dovrei omettere l'attributo type. Sarebbe bene omettere l'attributo type? Provocherebbe problemi?

Risposte:


48

Dai un'occhiata a questo come riferimento (Book of Speed): http://www.bookofspeed.com/chapter3.html

In sostanza, il modo migliore è combinare tutto il tuo javascript in un file chiamato qualcosa come all.min.js che è anche minimizzato.

In genere in HTML5 dovresti fare qualcosa del tipo:

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

Come puoi vedere, NON hai bisogno dell'attributo type in HTML5, ma lo fai in altre versioni di HTML e XHTML . La specifica chiarisce che se il contenuto è diverso da "text / javascript", è necessario specificare l'attributo type, in HTML5.

Alcune cose da ricordare:

Nota:

Se hai intenzione di specificare un altro tipo diverso da quello text/javascriptche utilizzeresti:

  • "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"

L'elenco sopra è tratto da: http://dev.w3.org/html5/spec-author-view/the-script-element.html#scriptingLanguages

Ricorda che non utilizzeresti l'attributo language, ma solo l'attributo type.


2
E che dire dell'attributo del linguaggio. È bene specificarlo o ometterlo?
Cracker,

1
L'attributo language non è supportato in HTML5, invece lo hanno unito all'attributo type. Ancora una volta, se è qualcosa di diverso da "text / javascript", lo si specifica utilizzando l'attributo type e uno dei seguenti da questa pagina: dev.w3.org/html5/spec-author-view/the-script-element .html
alvincrespo,

Ho aggiornato la risposta per riflettere il mio commento sopra.
alvincrespo,

L'impostazione di qualcosa di simile text/javascript1.3ha un effetto reale, diverso dall'ometterlo?
Arturo Torres Sánchez,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.