Je sais que, dans JQuery, on nous dit d'utiliser merci! p> $ (document) .Ready () code> afin de s'assurer que les éléments DOM sont prêts à être interactifs. Je sais que cela s'applique définitivement si les balises de script sont dans le
4 Réponses :
La fonction DOM-READY garantit que l'ensemble du DOM a été créé de manière à ce que tous les éléments du document puissent être atteints. Normal window.onload code> uniquement lorsque toutes les images ont été chargées, tandis que l'événement de JQuery déclenche dès que la structure du document existe. Si vous avez besoin de quelque chose pour arriver "à droite lorsque le document se charge", il n'y a aucune raison d'utiliser quoi que ce soit que $ (document) .Ready () code>. P>.
Donc, ma question est que le document est suffisamment chargé au moment de l'exécution de mes scripts?
Je n'ai jamais rencontré un navigateur où vous ne pouviez pas accéder à la DOM des éléments HTML apparaissant avant mon script. p>
Cela dit, si vous tirez dans JQuery ou déjà, j'utiliserais probablement la méthode prête (), juste pour faciliter la tâche que d'autres personnes soient utilisées à JQuery pour comprendre le code. p>
Y a-t-il une raison pour laquelle vous voudriez éviter cela? P>
(Si vous recherchez un moyen d'éviter de charger JQuery, alors, bien, oui, dans mon expérience, vous pouvez toujours accéder au DOM des éléments apparaissant avant le script.) P>
J'utilise déjà JQuery pour General Dom Access, mais mon script est organisé de manière à ce que, afin de modéliser correctement certaines actions prêtes à la DOM, elles se retrouvent dans différentes parties du code. Il a l'air plus propre si je pouvais simplement supprimer le $ (fonction () {}), mais je ne suis pas disposé à le faire jusqu'à ce que je ne puisse pas supposer que cela ne puisse rien blesser.
Il y a une autre raison de mettre vos scripts à la fin: les navigateurs doivent pas em> charger des fichiers JS en parallèle car ils peuvent affecter tout ce qui vient après. En fait, tout s'arrête dans le navigateur jusqu'à ce que le fichier JS soit téléchargé et analysé - texte, images, tout. Donc, à moins que vous ne devez les charger tôt, chargez votre JS à la fin de la page. P>
En fait, la plupart des navigateurs modernes peuvent charger des scripts en parallèle - voir la carte de BrowserScope.org/?v = Top & Catégorie = Réseau Toutefois, le chargement parallèle ne résout pas le problème autre problème que vous avez mentionné que les navigateurs arrêtent d'analyser et de rendu jusqu'à ce que les scripts se soient chargés et exécutés, de mettre ainsi des scripts en bas.
@Annie: Merci pour le lien. Je n'avais pas réalisé qu'ils avaient corrigé le problème de téléchargement parallèle-script dans FF 3.5 et MSIE 8. Il est intéressant de noter qu'ils téléchargeront tous les deux script / script et feuille de script / stylesheet en parallèle, mais pas de script / image. Une idée de ce que cela pourrait être?
Il y a une chose que vous ne pouvez pas faire dans un