2009-04-09 5 views
3

J'ai récemment lu que pour un chargement plus rapide de la page Web, il est recommandé de mettre les liens JavaScript à la fin. Je l'ai fait, mais maintenant les fonctions du fichier référencé ne fonctionne pas. Si je mets le lien au début de la page, tout va bien.Mettre en JavaScript à la fin de la page produit une erreur

Est-ce que mettre du JavaScript à la fin fonctionne dans certaines circonstances seulement?

Répondre

5

J'ai également effectué quelques tests avec ceci. Si vous chargez un fichier Javascript, il est plus rapide de le mettre à la fin, MAIS il comporte certaines mises en garde importantes. La première est que cela a souvent rendu certains de mes effets visuels perceptibles. Par exemple, si j'utilisais jQuery pour formater une table, la table apparaîtrait non formatée, puis le code serait exécuté pour le reformater. Je n'ai pas trouvé que c'était une bonne expérience utilisateur et je préférerais que la page soit complète. Deuxièmement, le mettre à la fin fait qu'il est difficile de mettre du code dans vos pages parce que souvent les fonctions n'existaient pas encore. Si vous avez ceci dans votre page:

$(function() { 
    // ... 
}); 

Eh bien cela ne fonctionnera pas jusqu'à ce que l'objet jQuery est défini. S'il est défini à la fin de votre page, cela produira une erreur. Maintenant, vous pourriez soutenir que tout ce code de style pourrait être mis dans le fichier externe, mais ce serait une erreur pour des raisons de performance. J'ai commencé à faire ça sur un projet et j'ai trouvé que ma page prenait une seconde pour parcourir tout le Javascript qui avait été centralisé. J'ai donc créé des fonctions pour le comportement concerné, puis j'ai appelé les fonctions appropriées dans chaque page, réduisant le temps d'exécution de la charge Javascript à 50-200ms. Enfin, vous pouvez (et devez) minimiser le temps de chargement de Javascript en versionnant vos fichiers Javascript, puis en utilisant des contrats à terme éloignés. Expose les en-têtes afin qu'ils ne soient chargés qu'une seule fois (à chaque changement) où ils sont dans le fichier est en grande partie hors de propos.

Donc, dans l'ensemble, j'ai trouvé mettre mettre les fichiers Javascript à la fin du fichier pour être lourd et finalement inutile.

2

Vous devez faire attention à la commande, mais des librairies comme JQuery vous permettent de faire les choses correctement. À la fin de la page, incluez tous les fichiers .JS dont vous avez besoin, puis, dans un fichier séparé ou dans la page elle-même, placez les appels Jquery pour agir sur le contenu de la page. Parce que JQ gère les sélecteurs de style css, il est très facile d'éviter tout Javascript dans le corps de la page - au lieu de les attacher aux ID et aux classes. Ceci est appelé Unobtrusive Javascript

Questions connexes