2010-01-28 7 views
3

J'ai divisé divers composants de la page dans différents fichiers php. Dans le fichier php de navigation, j'ai les objets que je veux utiliser dans le javascript. où devrais-je mettre le javascript <script ...> afin qu'il charge bien? En ce moment je le mets dans un fichier complètement séparé header.php? mais je ne pense pas que le javascript sélectionne des objets de nav.php j'espère que j'ai du sens;)où inclure les fichiers de script

Répondre

1

La suggestion standard est que vous devez mettre tous vos liens SCRIPT avant la fin de votre balise BODY au bas de votre document. Cela simplifie les connexions réseau:

http://developer.yahoo.com/performance/rules.html

+0

Il n'y a pas de standard pour cela –

+0

peut-être qu'il n'y a pas de standard, mais il y a sûrement un sens commun-intelligent pour mettre js dans le bas de la page, * si possible * – Strae

1

Peu importe où dans le processus de rendu PHP vous le mettez, il importe seulement que lorsque la sortie HTML et javascript sont combinés, les éléments HTML existent avant que vous essayiez d'y accéder en javascript.

C'est pour cette raison que la plupart des toolkits javascript ont une fonction d'exécution de javascript une fois les éléments de la page chargés, comme la fonction document.ready de jquery.

+0

exactement ce que je pensais. J'utilise $ (document) .ready. – amit

0

Ma compréhension est que la meilleure vitesse vient de mettre le script à la fin de la page?

http://developer.yahoo.com/performance/rules.html

Scripts Mettez au Bas Le problème causé par des scripts est qu'ils bloquent les téléchargements parallèles. La spécification HTTP/1.1 suggère que les navigateurs ne téléchargent pas plus de deux composants en parallèle par nom d'hôte. Si vous diffusez vos images à partir de plusieurs noms d'hôtes, vous pouvez obtenir plus de deux téléchargements en parallèle. Pendant le téléchargement d'un script, le navigateur ne lance aucun autre téléchargement, même sur des noms d'hôtes différents.

Dans certaines situations, il n'est pas facile de déplacer les scripts vers le bas. Si, par exemple, le script utilise document.write pour insérer une partie du contenu de la page, il ne peut pas être déplacé plus bas dans la page. Il pourrait également y avoir des problèmes de portée. Dans de nombreux cas, il existe des moyens de contourner ces situations.

Une suggestion alternative qui revient souvent est d'utiliser des scripts différés. L'attribut DEFER indique que le script ne contient pas document.write et est un indice pour les navigateurs qu'ils peuvent continuer à rendre. Malheureusement, Firefox ne supporte pas l'attribut DEFER. Dans Internet Explorer, le script peut être différé, mais pas autant que souhaité. Si un script peut être différé, il peut également être déplacé vers le bas de la page. Cela permettra de charger vos pages Web plus rapidement.

0

Vous remarquerez que le gain de performances que vous obtenez en repositionnant les tags (ou en utilisant des méthodes plus ésotériques pour éviter le blocage) est très faible par rapport à l'avantage de les mettre correctement en cache sur le navigateur.

C.