Fichiers .js dans une page .html

Fermé
ghanmy - 1 oct. 2011 à 01:52
 A.Nonymous - 1 oct. 2011 à 17:51
Bonsoir,
Jai des pages html ,et dans chaque page j'ai besoin d'inclure +-6 fichiers .js et les fonction utiliser sont récursives c a dire qu'une fonction dans un fichier .js doit appeler une autre fonction d'un autre fichier .js ,sachant que les deux fichiers .js sont appeler dans l'entête du page html. Ma question c'est :la dépendance des fonctions qui appartiennent au différents fichiers .js peut ralentir l'interaction avec les pages web? D'après mes expériences la réponse c'est oui mais je veux une explication scientifique et la solution a ce problème.

Cordialement
A voir également:

2 réponses

le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 1 057
Modifié par le hollandais volant le 1/10/2011 à 17:49
Salut !
Ma question c'est :la dépendance des fonctions qui appartiennent au différents fichiers .js peut ralentir l'interaction avec les pages web?

Ben à chaque fois qu'une page HTML demande un fichier externe, le navigateur communique avec le serveur du site.
Ces communications génèrent des requêtes, et c'est ça qui ralentit la page.

Une requête :
- interrogation des serveurs DNS
- interrogation du serveur
- traitement de requête par le serveur
- envoi du fichier au navigateur
- traitement du fichier par le navigateur

EDIT : ah, et la solution au problème : faire un seul fichier JS et les charger à la fin du fichier HTML.
- ...
« Quel crime avons-nous fait pour mériter de naître ? » [Lamartine]
0
Le problème est surtout qu'une fonction peut être appelée alors que le fichier qui la contient peut ne pas avoir été chargé.
L'une des solutions est d'exécuter le "code d'amorçage" sur l'évènement "document.ready".
Quand le document est "ready", cela signifie que le navigateur a fini le rendu de la page, et donc les différents chargements de fichier s'y afférant.

En jQuery, l'exécution de Javascript sur cet évènement peut s'écrire ainsi :
jQuery(document).ready(function(){ alert( 'Document is ready !' ); });
0