Question

je regarde Douglas Crockfords « théorie du DOM » et il a mentionné que l'emplacement de mes balises de script peut affecter considérablement le temps de chargement de mes applications. En outre, il affirme qu'une balise de script doit être inclus dans la mesure vers le bas du corps du document que possible.

Est-ce exact?

ou

cette vidéo à jour? (qu'il fait des sites comme raison pour laquelle il n'a pas exposé sur le DOM plus tôt).

Était-ce utile?

La solution

Autres conseils

Les fichiers inclus dans l'en-tête sont chargés avant que le reste de la page commence même chargement. Il est recommandé de charger des fichiers non essentiels au plus près du bas de la page que possible pour le reste de la page peut être chargée au préalable.

Il y a quelques bibliothèques JS (comme LABjs) que vous pouvez charger dans l'en-tête à la place. Ils vous permettent ensuite de charger tous vos autres actifs de JS manière asynchrone et fournir un rappel pour que le reste de votre code peut exécuter lorsque vous connaissez vos actifs JS ont été chargés.

Vous pouvez également utiliser http://labjs.com/ .

Comme indiqué dans la page du projet:

LABjs (chargement et JavaScript de blocage) est un projet open source (licence MIT) pris en charge par Getify Solutions. Le but principal de LABjs est d'être un tout usage, à la demande JavaScript chargeur, capable de charger toute ressource JavaScript, en tout lieu, dans une page, à tout moment. Chargement de vos scripts avec LABjs réduit le blocage des ressources au cours de chargement de la page, ce qui est un moyen facile et efficace pour optimiser les performances de votre site.

LABjs par défaut chargera (et exécuter) tous les scripts en parallèle aussi rapide que le navigateur permettra. Cependant, vous pouvez spécifier facilement quels scripts ont des dépendances d'ordre d'exécution et LABjs assureront ordre d'exécution. Cela rend LABjs sûr à utiliser pour pratiquement toutes les ressources JavaScript, que vous contrôlez / hôte ou non, et si elle est autonome ou d'une partie d'un arbre de dépendance plus grande des ressources.

Utilisation LABjs remplacera tout ce que laid « soupe de tags » - qui est toutes les balises qui apparaissent souvent dans le ou en fin de votre page HTML. L'API est expressif et Enchaînement, pour vous permettre de spécifier les scripts à la charge, et quand attendre ( « bloc »), le cas échéant, pour l'exécution avant de procéder à l'exécution ultérieure. L'API permet également facilement le couplage d'exécution de code en ligne (pensez: tags).

LABjs est maintenant le privilège de bénéficier d'une collaboration avec Steve Souders, et vise à être la meilleure solution unique pour optimiser, flexible, script général chargement disponible.

moi aussi j'ai entendu dire que JavaScript doit être inclus à la fin de la page «espérons » assurer le DOM est chargé. Je crois avoir lu cela dans la documentation Yahoo un certain temps.

Eh bien, il est exact. À moins que vous utilisez quelque chose comme « head.js » qui charge javascript fichiers en parallèle. Oh, et certains scripts doivent être avant que le contenu. Par exemple, le script html5-Shiv.

http://headjs.com/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top