Lier un fichier JS externe

Signaler
Messages postés
93
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2007
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour tout le monde,


je voudrais savoir comment je peux faire pour lier un fichier JS à un autre. En fait je voudrais éviter d'avoir à mettre les liens vers les fichiers javascript dans la page HTML. Du coup on pourrait ne mettre le lien que d'un seul de ces fichiers dans la page et il se chargerait d'appeler lui meme les autres...


Y-a-t'il un mode opératoire qui puisse faire ça



<HR>


Si tu es blonde et à forte poitrine, tu m'interresses aussi...

8 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
plusieurs pistes ?
un .js qui fait
° document.writeln('<script type="text/javascript" scr="j1.js"><\/script>");
document.writeln('<script type="text/javascript" scr="j2.js"><\/script>"); ...
° des appendChild dans le tag <head>
° .innerHTML+= ??? (pas testé ça!!!)
...
il doit bien y avoir d'autres possibilités...
je ne sais pas si ça vaut le coup ?

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
93
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2007

L'interet de la chose est qu'en fait si plusieurs personnes pointent sur les fichers javascript et que je fais une modification en appelant des fonctions externes se trouvant dans un nouveau fichier javascript, tous devraient inclure le nouveau '.js' à leur page, sauf si le fichier javascript appelle lui même les autres fichiers javascript...

Je vais tenter ton truc mais le doute m'habite...


<HR>
Si tu es blonde et à forte poitrine, tu m'interresses aussi...
Messages postés
93
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2007

J'ai testé et ça marche à moitié... En fait je dois créer une fonction que j'ai appelé LierFicherJS() qui fait les writeln() et je dois appelé cette fonction depuis le fichier HTML. Si je l'appelle depuis le fichier JS tout au debut de ma fonction de triatement globale, ça ne marche pas...

voila la fonction de liaison :

function LierFichierJS(){
document.writeln('<script language="Javascript" type="text/Javascript" src="JS1.js"></script>');
document.writeln('<script language="Javascript" type="text/Javascript" src="JS2.js"></script>');
}

puis en vert ce qui marche, en rouge ce qui ne marche pas :

HTML:

<script>LierFichierJS();</script>
Tagada

<script>Traitement();</script>
Pouet pouet

<script>Traitement();</script>


HTML :

Tagada

<script>Traitement();</script>
Pouet pouet

<script>Traitement();</script>


JS:
function Traitement() {
LierFichierJS();
...
}

Comment ça se fait?...


<HR>
Si tu es blonde et à forte poitrine, tu m'interresses aussi...
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
<script type="text/javascript" src="LE .js qui contient fichierFichierJS"></script>
et APRES on peut appeler les functions inclus dans les .js

>>et que je fais une modification....
le .js est rechargé en même temps que la page.html
dans laquelle il est. donc pas un souci çà.

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
93
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2007

Dans les 2 cas (celui qui marche et celui qui ne marche pas) j'avais la ligne :

<script language="Javascript" type="text/Javascript" src="MonJS.js"></script>

et c'est dans fichier MonJS.js qu'il y a les fonctions Traitement() et LierFichierJS()... est-ce que tu peux m'envoyer tes fichiers avec les 2 méthodes que tu as testées sur mon adresse mail que je t'envoie en MP, s'il te plait... (je ne sais pas comment marche ta 2ème possibilité)


Merci beaucoup de ton aide...



<HR>


Si tu es blonde et à forte poitrine, tu m'interresses aussi...
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
un ch'tit exemple alors ?

une page html :
<script type="text/javascript" src="j1.js"></script>
<script type="text/javascript">
appel();
</script>
j1.js :
document.writeln("<script type='text/javascript' src='j2.js'><\/script>");
document.writeln("<script type='text/javascript' src='j3.js'><\/script>");
j2.js :
alert("j2");
j3.js :
alert("j3");
function appel()
{
alert("function appel dans j3");
}

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
93
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2007

effectivement comme ça, ça marche... sauf que mon fichier j1.js appelle des fonctions présentes dans j2.js et j3.js...

et là ça ne marche plus... si tu essaies, dans ton exemple, d'appeler la fonction 'appel()' depuis j1.js, juste après avoir fais les 2 'imports' au lieu de l'appeler depuis la page HTML, ça ne marche plus...


<HR>
Si tu es blonde et à forte poitrine, tu m'interresses aussi...
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
bien entendu....
c'est un interpréteur, il interprète/exécute les lignes les
une après les autres. et on ne peut pas faire référence à
quelque chose qui n' a pas encore été défini.
essayer :
<script type="text/javascript">
txt.value="exemple";
</script>

et... ça ne fonctionne pas.
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>