44 votes

Est-ce que "mettre les scripts en bas" est correct?

Dans les Meilleures Pratiques afin d'améliorer la Performance de votre site web http://developer.yahoo.com/performance/rules.htmlSteve Souders a mentionné une règle de "Déplacer les Scripts en Bas". C'est un peu déroutant. En fait, je remarque que beaucoup de pages web qui ne met pas de script en bas, tandis que YSlow marque encore Une de ces pages.

Donc, quand dois-je suivre la règle "Mettre les Scripts en Bas"?

31voto

Alan Storm Points 82442

Lorsqu'un utilisateur demande une page de votre site, la page HTML commence la diffusion en continu dans le navigateur. Dès qu'un navigateur rencontre une balise pour une image externe, le script, le fichier CSS, etc., il va commencer à télécharger le fichier simultanément.

Si vous mettez vos scripts en bas de page, ils vont être chargés en dernier. En d'autres termes, le contenu HTML/structure/css/images de youe page/application va être chargé en premier, et quelque chose peut apparaître dans le navigateur plus rapide, Vos utilisateurs n'ont pas à attendre pour un script pour terminer le téléchargement avant de voir quelque chose dans votre application.

14voto

Ryan Doherty Points 16448

La raison pour laquelle les pages qui ont des scripts en haut de la page est encore le score de un 'A' est parce que ce n'est pas aussi important que d'autres améliorations de performance qui pourrait en être faite.

Chaque règle est pondéré, de sorte que certaines règles sur la ySlow de qualité plus que d'autres.

J'ai toujours mettre les scripts en bas. Il y a très peu de raisons pour avoir besoin de scripts en haut de votre page. La seule raison pour laquelle, je pense, vous avez besoin de votre code JavaScript à exécuter immédiatement avant toute autre chose dans la page, ce qui est assez rare.

8voto

Mehrdad Afshari Points 204872

Parfois, vous n'avez pas d'autre choix que de placer des scripts à un emplacement spécifique de la page. Toutefois, si vous placez des scripts au bas de la page, le navigateur n'interrompra pas son rendu pour charger le moteur JS afin de traiter votre script (ce qui peut être coûteux si vous avez des boucles s'exécutant plusieurs fois) et s'affichera probablement. une première vue de la page plus tôt.

6voto

Pwninstein Points 7293

Je ne suis pas sûr que ce soit un problème de performances (pourrait être), mais j'ai assisté à une présentation donnée par Microsoft, et le présentateur a déclaré que les spiders Web lisent parfois uniquement le premier nombre x de caractères sur une page Web pour l'indexer. Par conséquent, si vous avez un grand nombre de scripts, votre contenu risque de ne pas être atteint ni indexé correctement (et le rang de page de votre site ne sera pas aussi élevé).

6voto

le dorfier Points 27267

Le code peut faire référence à des objets DOM qui n'ont pas encore été instanciés est la raison la plus évidente à laquelle je puisse penser.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X