11548 sujets

JavaScript, DOM et API Web HTML5

bonjour,

je souhaite insérer un script dans mon blog
on me conseille de le placer dans le footer

par contre je ne sais pas si il faut mieux

- appeler un script externe à partir du footer

ou

- le placer dans le footer et utiliser un conditionnel php (if page (is_250))

ou

- aucun des 2

ou

- autre ?

Merci pour vos explications... Smiley cligne
Il faut évidemment placer un fichier script externe tout juste avant la fermeture de la balise </body> - autrement ton script ne sera pas enregistré dans le cache du navigateur.

Pour le commentaire conditionnel... Ça dépendra de ton utilisation.
Vaxilart a écrit :
autrement ton script ne sera pas enregistré dans le cache du navigateur.

Ah bon Smiley eek C'est la première fois que je lis ça.
Autant on met les scripts js avant la fin du body pour ne pas bloquer la page au chargement et pour avoir un DOM prêt à l'initialisation des scripts, autant l'histoire de cache j'aimerais bien avoir tes sources ?
Vaxilart a écrit :
Il faut évidemment placer un fichier script externe tout juste avant la fermeture de la balise &lt;/body&gt; - autrement ton script ne sera pas enregistré dans le cache du navigateur.

Pour le commentaire conditionnel... Ça dépendra de ton utilisation.


oui le conditionnel c'est pour que le script ne soit chargé que pour une certaine page
et justement comme c'est juste pour une certaine page je ne sais pas quoi faire entre le script externe ou le conditionnel php

quelle est la meilleure solution au niveau du temps de chargement ?
Bonjour,

Il est tout à fait possible d'utiliser une condition PHP et de placer le script en fin de page.

Qu'est ce qui te bloque ?
qu'est-ce qui ralenti le moins le chargement de ma page :

- copier le script en entier en fin de page (alourdi la page...)
ou
- insérer un lien externe vers le script (requête supplémentaire...)

merci
Externaliser ses scripts et CSS est meilleur pour les performances :

a écrit :
Using external files in the real world generally produces faster pages because the JavaScript and CSS files are cached by the browser. JavaScript and CSS that are inlined in HTML documents get downloaded every time the HTML document is requested. This reduces the number of HTTP requests that are needed, but increases the size of the HTML document. On the other hand, if the JavaScript and CSS are in external files cached by the browser, the size of the HTML document is reduced without increasing the number of HTTP requests.


Tiré de Yahoo Smiley cligne
donc plus long au 1er chargement puis plus rapide ensuite, difficile d'avoir les 2 j'ai l'impression Smiley cligne
billboc a écrit :
donc plus long au 1er chargement puis plus rapide ensuite, difficile d'avoir les 2 j'ai l'impression Smiley cligne

Si ton script a une certaine taille (plus long que 2 ou 3 lignes) alors c'est mieux de le mettre en externe, surtout si il se retrouve sur plusieurs pages.
Ce n'est pas difficile, c'est impossible. Interne ou externe, le poids du script a une répercussion sur le chargement.
Soit c'est ta page qui est plus lourde, soit le script.

Dans tous les cas, il faudra bien le charger une première fois. L'avantage de l'externe est la mise en cache, et ça ne freine pas le chargement de la page principale.

Donc, externe, en bas de page. Aucune autre solution.
dernière question...

faut-il mieux que je charge tous mes scripts (liés dans un fichier commun) d'un coup et en externe pour toutes les pages

ou que j'utilise des conditionnels php pour ne charger que les scripts nécessaire en fonction de la page affichée ?

merci beaucoup pour votre aide
Tu utilises jquery (ou autre) et des plugins? Alors je dirais un fichier avec la librairie (jquery, mootools, etc), plus un autre avec d'éventuels plugins, plus un avec tes scripts persos (si pas trop lourds).

cf html5 boilerplate
Modifié par Patidou (23 Aug 2011 - 13:37)