Um script não tem uso real até que o HTML termine de carregar - um script não pode alterar o DOM até que o HTML seja carregado. document.ready
aguarda o carregamento do DOM. Portanto, não faz sentido conter coisas importantes, como folhas de estilo.
Coloque os scripts na parte inferior da página (antes da </body>
tag) para obter seu HTML e CSS para o usuário o mais rápido possível. O navegador poderá renderizar a página muito mais rapidamente e, em seguida, os scripts poderão ser carregados, em vez de deixar uma página em branco para o usuário olhar enquanto aguarda o download dos scripts.
Enquanto o navegador está processando progressivamente a página, se ela atingir uma tag de script (ou seja, um arquivo Javascript externo) tudo pára . Os scripts têm o direito de passagem - enquanto um script está sendo baixado, o navegador não inicia nenhum outro download. ou seja, imagens e folhas de estilo e qualquer outro download paralelo serão bloqueados, mesmo em nomes de host diferentes.
A desvantagem de colocar scripts na parte inferior da página é que, como a página será renderizada antes da inicialização dos scripts, os cliques rápidos poderão interagir com seu site antes que o Javascript esteja pronto.
Nota: O oposto é verdadeiro para folhas de estilo - as folhas de estilo próximas à parte inferior da página bloqueiam a renderização progressiva até que todas as folhas de estilo tenham sido baixadas e movê-las para o documento HEAD
elimina o problema.
Existe um truque interessante para carregar o javascript sem fazer o usuário esperar, você pode criar um <script/>
elemento usando o createElement()
método DOM e adicioná-lo à página imediatamente antes da </body>
tag de fechamento :
var oScript = document.createElement("script");
oScript.src = "/path/to/my.js";
document.body.appendChild(oScript);
O navegador não inicia o download do script js até que o novo <script/>
elemento seja realmente adicionado à página. Após a conclusão do download, o navegador interpreta o código Javascript contido nele.