Qual é a melhor maneira de incluir arquivo JavaScript usando a tag de script?


50

Geralmente incluo arquivos JavaScript usando a tag de script como abaixo.

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

Eu já vi algumas pessoas usando o atributo language também.

Hoje em dia, encontro muitas pessoas omitindo o atributo type. Comecei a ter a sensação de que, se o JavaScript é a linguagem de script padrão, devo omitir o atributo type. Seria bom omitir o atributo type? Causaria algum problema?

Respostas:


48

Dê uma olhada nisso como uma referência (Book of Speed): http://www.bookofspeed.com/chapter3.html

Essencialmente, a melhor maneira é combinar todo o seu javascript em um arquivo chamado all.min.js, que também é minimizado.

Normalmente, em HTML5, você faria algo como:

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

Como você pode ver, você NÃO precisa do atributo type no HTML5, mas em outras versões do HTML e XHTML . A especificação esclarece que, se o conteúdo for diferente de "text / javascript", será necessário especificar o atributo type, em HTML5.

Algumas coisas para lembrar:

Nota:

Se você estiver indo para especificar outro tipo diferente de text/javascriptvocê usaria um dos seguintes:

  • "application / ecmascript"
  • "aplicação / 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"
  • "texto / jscript"
  • "texto / código da vida"
  • "text / x-ecmascript"
  • "texto / x-javascript"
  • "texto / javascript; e4x = 1"

A lista acima é de: http://dev.w3.org/html5/spec-author-view/the-script-element.html#scriptingLanguages

Lembre-se de que você não usaria o atributo language, apenas o atributo type.


2
E o atributo de idioma. É bom especificá-lo ou omiti-lo?
Cracker

11
O atributo language não é suportado no HTML5. Em vez disso, eles foram mesclados ao atributo type. Novamente, se for algo diferente de "text / javascript", você poderá especificá-lo usando o atributo type e um dos seguintes itens
alvincrespo

Atualizei a resposta para refletir meu comentário acima.
Alvincrespo 9/07

Definir algo como text/javascript1.3tem algum efeito real, diferente de omiti-lo?
Arturo Torres Sánchez
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.