¿Cuál es la mejor manera de incluir un archivo JavaScript usando la etiqueta de script?

50

Generalmente incluyo archivos JavaScript usando la etiqueta de script como se muestra a continuación.

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

También he visto a algunas personas usar el atributo del lenguaje.

Hoy en día encuentro que muchas personas omiten el atributo type. He comenzado a tener la sensación de que si JavaScript es el lenguaje de script predeterminado, incluso yo debería omitir el atributo type. ¿Sería bueno omitir el atributo type? ¿Causaría algún problema?

Galleta
fuente

Respuestas:

48

Eche un vistazo a esto como referencia (Libro de Velocidad): http://www.bookofspeed.com/chapter3.html

Esencialmente, la mejor manera es combinar todos sus javascript en un archivo llamado algo así como all.min.js que también se minimiza.

Por lo general, en HTML5 haría algo como:

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

Como se puede ver, usted NO necesita el atributo type en HTML 5, pero lo hace en otras versiones de HTML y XHTML . La especificación aclara que si el contenido no es "text / javascript", entonces debe especificar el atributo type, en HTML5.

Algunas cosas para recordar:

Nota:

Si va a especificar otro tipo diferente al text/javascriptque usaría uno de los siguientes:

  • "aplicación / ecmascript"
  • "aplicación / javascript"
  • "aplicación / x-ecmascript"
  • "aplicación / x-javascript"
  • "texto / ecmascript" "texto / javascript"
  • "texto / javascript1.0"
  • "texto / javascript1.1"
  • "texto / javascript 1.2"
  • "texto / javascript1.3"
  • "text / javascript1.4"
  • "texto / javascript 1.5"
  • "texto / jscript"
  • "texto / livecript"
  • "text / x-ecmascript"
  • "text / x-javascript"
  • "texto / javascript; e4x = 1"

La lista anterior es de: http://dev.w3.org/html5/spec-author-view/the-script-element.html#scriptingLanguages

Recuerde que no usaría el atributo de idioma, solo el atributo de tipo.

alvincrespo
fuente
2
¿Y qué hay del atributo del lenguaje? ¿Es bueno especificarlo u omitirlo?
Cracker
1
El atributo de idioma no es compatible con HTML5, en cambio lo han fusionado con el atributo type. Nuevamente, si se trata de algo diferente a "text / javascript", debe especificarlo utilizando el atributo type y uno de los siguientes de esta página: dev.w3.org/html5/spec-author-view/the-script-element .html
alvincrespo
He actualizado la respuesta para reflejar mi comentario anterior.
alvincrespo
¿Establecer algo así text/javascript1.3tiene algún efecto real, diferente de omitirlo?
Arturo Torres Sánchez