Ce qui est des avantages et des Inconvénients: mettre du javascript dans la tête et le mettre juste avant le corps à proximité
Plus de javascript et de développement web de livres/articles vous dit que vous devez mettre le CSS dans la balise head et javascript en bas de la page.
Mais quand j'ai ouvert la source html de sites célèbres tels que celui stackoverflow, je trouve qu'ils mettent certains fichiers js dans la balise head.
Ce qui est des avantages et des Inconvénients des deux approches et quand utiliser?
Trouvé une autre question pour le même problème:
Où dois-je déclarer les fichiers JavaScript utilisé dans ma page? Dans <head></head> ou à proximité </body>?
Vous devez vous connecter pour publier un commentaire.
De Yahoo Les meilleures Pratiques pour accélérer Votre Site Web:
Donc, en général, il est préférable de les mettre au fond. Cependant, il n'est pas toujours possible, et il n'est souvent pas faire que beaucoup de différence de toute façon.
Que d'autres personnes l'ont dit, quand vous mettez en javascript dans la tête il retarde le rendu de la page jusqu'à ce que après les scripts ont chargé, ce qui signifie que la page peut prendre plus de temps à charger, surtout si vous êtes le téléchargement de gros fichiers de script.
Si vous déplacez vos balises de script à la fin de la page, vous devrez vous assurer que le navigateur télécharge des images et feuilles de style avant les balises de script et la page a des chances d'apparaître pour être rendu avant que les scripts de démarrage pour exécuter. Cela signifie également que si vous êtes en fonction sur certaines fonctionnalités de vos scripts, ce ne sera pas disponible jusqu'à un peu après la page est visible pour l'utilisateur.
Si vous ajoutez des styles ou des éléments (etc. commutation textfields avec une forme des plus riches de l'éditeur) ce sera visible à l'utilisateur, comme le scintillement.
Si vous ajoutez cliquez-événements pour les éléments, il ne sera pas cliquable jusqu'à un peu après que les éléments eux-mêmes sont visibles.
Parfois des thèses de questions, il faut vous mettre vos scripts dans la tête, d'autres fois, vous serez bien par de les coller dans le fond.
À mon humble avis (complètement à l'encontre de YSlow et beaucoup de gens intelligents), vous devriez garder vos scripts dans la balise head, et seulement compter sur eux pour être mis en cache la plupart du temps.
En général, vous devez placer des références de script en bas de votre page. Les Scripts n'ont pas seulement besoin d'être téléchargé, ils doivent également être évaluées et exécutées avant le bloc est libéré et la page produit avec le processus de rendu. Des choses comme Modernizr doit être placé dans le top parce qu'il n'certains disposent de détections ainsi que HTML5 cales que vous aurez probablement envie.
Une autre raison pour laquelle vous voulez essayer de placer les scripts en bas de la page les Points de Défaillance uniques ou SPOFs. C'est là un script d'appel ou pour une autre raison bloque l'exécution de page. Cela peut se produire beaucoup de publicité tierces bibliothèques, etc.
Oui, vous pourriez avoir à penser un peu plus à propos de la façon dont vous l'architecte de votre application, mais je l'ai trouvé très naturel, très rapidement pour moi. J'ai construit des centaines d'applications web sur les 4 dernières années avec le script en bas et je peux faire la différence. J'ai peut-être 500ms il pourrait être 5000ms mais il toutes les questions.
Cela dépend vraiment de votre site web. Si vous êtes accédant et en invoquant les fonctions JavaScript à l'intérieur du corps, puis il doit être référencé dans l'en-tête de sorte que s'en est chargé. Sinon, si vous allez seulement d'appeler le JavaScript lorsque le document est chargé alors il est sage de mettre le code JavaScript à la fin du corps. En mettant .Fichier JS à la fin de vous charger de l'ensemble de la page, puis extraire la .Fichier JS. De cette façon, l'utilisateur sera en mesure de voir rapidement la page et par le temps qu'il/elle se familiariser avec la page la .JS fichier a déjà été téléchargé.
Code javascript dans le head sera évalué avant le chargement de la page, en signifiant que la page se sent comme il faut plus de temps pour charger. Il est légèrement plus difficile d'obtenir des événements de travailler correctement que si tous le javascript est à la fin, mais jQuery assez bien résout ce problème pour vous.