Quels sont les avantages réels (le cas échéant) du chargement de votre JS au bas du document, par opposition au haut. Il semble qu'il y ait un bref retard dans le chargement des pages et la fonctionnalité dépendante de JS.
J'utilise html5boilerplate pour commencer tous mes modèles, mais je ne suis pas vraiment sûr de l'utilité du chargement du JS en bas.
Cela fait-il vraiment une grande différence, et si oui, pourquoi?
Si vous incluez des fichiers js externes en bas de votre page, vous donnez la priorité de vos requêtes HTTP à l'affichage visuel qui sera présenté au client plutôt qu'à la logique d'interaction ou de dynamique. Je pense que si vous n'utilisez pas de réseau de diffusion de contenu pour livrer des images au client, vous n'êtes autorisé à traiter qu'un maximum de 2 requêtes HTTP à la fois. Vous ne voulez pas gaspiller ces requêtes sur la logique car nous savons tous à quel point l'utilisateur final est impatient.
En chargeant js à la fin du fichier, vous pouvez accéder au DOM (la plupart du temps) sans avoir à appeler une fonction document.ready (). Vous savez que si le rendu de page parvient finalement à votre code javascript, les éléments de page nécessaires ont généralement déjà été chargés.
Il y a encore quelques raisons, mais ce sont les plus importantes dont j'essaie de me souvenir quand il est si gênant de placer tous les j en bas.
Comme les scripts auxquels il est fait référence sont en cours de téléchargement, les navigateurs ne téléchargent généralement pas d'autres fichiers en parallèle, ce qui ralentit le chargement de la page.
Une recherche Google renverra un grand nombre de résultats expliquant pourquoi vous voulez le faire et quelle amélioration vous verrez. Consultez certains de ces liens suivants:
Fondamentalement, la principale raison pour cela est que vous améliorerez les temps de rendu de votre page. Du premier article:
[Je] préfère déplacer les scripts du haut vers le bas de la page. L'une des raisons est d'activer le rendu progressif, mais une autre est d'obtenir une plus grande parallélisation des téléchargements.
en fonction de ce qui est dans le js. si seulement vous voulez qu'il "passe" lorsque la page se charge, entourez votre code par jquery: $(function(){})
ou placez-le en bas de la page