Ao incorporar JavaScript em um documento HTML, onde é o lugar apropriado para colocar as tags <script>
e incluir JavaScript? Lembro-me que não é suposto colocá-las na secção <head>
, mas colocar no início da secção <body>
também é mau, uma vez que o JavaScript terá de ser analisado antes da página ser renderizada completamente (ou algo do género). Isso parece deixar o end da seção <body>
como um lugar lógico para <script>
tags.
Então, onde é o lugar certo para colocar as tags <script>
?
(Esta questão refere-se esta questão, na qual foi sugerido que chamadas de função JavaScript devem ser movidas de <a>
tags para <script>
tags. I'm especificamente utilizando jQuery, mas respostas mais gerais também são apropriadas).
Pouco antes do fecho da etiqueta do corpo, como indicado no
http://developer.yahoo.com/performance/rules.html#js_bottom
Cortar os Scripts no Fundo
O problema causado pelos scripts é que eles bloqueiam downloads paralelos. A especificação HTTP/1.1 sugere que os navegadores não baixam mais que dois componentes em paralelo por nome de host. Se você servir suas imagens a partir de vários hostnames, você pode obter mais de dois downloads para ocorrer em paralelo. Enquanto um script estiver sendo baixado, no entanto, o navegador não iniciará nenhum outro download, mesmo em nomes de host diferentes.
Se você estiver utilizando JQuery então coloque o javascript onde você achar melhor e utilize $(document).ready()
para garantir que as coisas sejam carregadas corretamente antes de executar qualquer função.
Em uma nota lateral: Eu gosto de todas as minhas tags de script na seção <head>
, pois esse parece ser o lugar mais limpo.
A resposta convencional (e amplamente aceita) é "no fundo", porque então o DOM inteiro terá sido carregado antes que qualquer coisa possa começar a ser executada.
Existem dissidentes, por várias razões, começando pela prática disponível para iniciar intencionalmente a execução com uma página sobre o evento de carga.