Appeler un fichier source qui dépend d'une variable

romain789
Messages postés
5
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
13 août 2009
- 13 août 2009 à 10:08
romain789
Messages postés
5
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
13 août 2009
- 13 août 2009 à 12:01
Bonjour,

Très néophytes dans le javascript, je suis confronté à un problème pour l'appel de mon fichier source :

<SCRIPT language=javascript SRC=+urlParam["param2"]+".js" >

où urlParam est une variable tirée de l'URL et ça ne fonctionne pas... Comment puis-je m'y prendre?

Voici le code complet :

<SCRIPT language=javascript>

// Fonction d'extraction des paramètres
function TJSExtraireParam() {
url = window.location.href;
var exp=new RegExp("[&?]+","g");
var exp2=new RegExp("[=]+","g");
var tabNom=url.split(exp);
var tabParam=new Array();
if (tabNom!=null) {
for (var i=1;i<tabNom.length;i++){
var tabTemp=tabNom[i].split(exp2);
tabParam[tabTemp[0]]=tabTemp[1];
}
}
return tabParam;
}
// Appel de la fonction et création du tableau des paramètres
var urlParam = TJSExtraireParam();
</SCRIPT>
[B]

<SCRIPT language=javascript>
document.write("Vue "+urlParam["param1"]);
document.write("
Département "+urlParam["param2"]);
</SCRIPT> LA TOUT EST OK/B


<SCRIPT language=javascript SRC=+urlParam["param2"]+".js" >
</SCRIPT> LA C'EST PAS BON

Merci de votre assistance, je désespere de trouver...

8 réponses

Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
13 août 2009 à 11:10
Bonjour,

ben oui.... <script... c'est du html
donc, les variables connait pas

_ faut faire un document.write ( beurk )
_ faut l'inclure à la volée ( mais bonf )

vous êtes sûr d'avoir réellement besoin de cela ?
pourquoi ne pas inclure un js "commun"
qui lui testera le contenu window.location.href;
et fera des traitements différents ?

Cordialement [mon Site] [M'écrire] Bul
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
13 août 2009 à 11:18
je m'explique peut-être ?

supposons 2 js : p1.js et p2.js
l'appel ?1 ou 2

soit on fait :

<script>
var pst = window.location.search.substring(1);
document.write("<script type='text/javascript' src='p"+pst+".js'><\/script>");
</script>

avec p1.js :
alert("1");

et p2.js :
alert("2");


soit on fait :

<script>
var pst = window.location.search.substring(1);
alert(pst);
</script>


bien sûr je suppose que c'est plus qu'un alert
qui doit être fait... mais je doute malgré
tout que des .js totalement différents soient
nécessaires
0
romain789
Messages postés
5
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
13 août 2009

13 août 2009 à 11:19
Merci de cette aide... malheureusement, je ne vois pas vraiment d'autres solutions : j'ai 142 fichier .js différents et les agréger risque d'être très lourd!
Les fichiers .js sont de cette forme :
[i]"document.write('<MAP NAME = "ImageMap">');
document.write('');..."/i et font en moyenne une centaine de Ko

J'ai essayé avec document write, mais ça ne fonctionne pas : est-ce parce qu'il existe aussi dans le fichier .js?
0
romain789
Messages postés
5
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
13 août 2009

13 août 2009 à 11:21
Mon post arrive en retard... je vais essayer la méthode
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
13 août 2009 à 11:44
142 fichiers js différents ???
j'ai comme un gros doute sur la conception là !
on ne connait pas l'application, certes,
c'est peut-être justifié ?
je m'occupe peut-être de choses
qui ne me regardent pas :
ah mon avis, ça fait peur....

>>J'ai essayé avec document write, mais ça ne fonctionne pas
vous ne devez pas faire les choses comme il faut !

new 0.htm
[new 1.htm?1 lien 1]
[new 1.htm?2 lien 2]
new 1.htm
<script>
var pst = window.location.search.substring(1);
document.write("<script type='text/javascript' src='p"+pst+".js'><\/script>");
</script>
p1.js
alert("1");
p2.js
alert("2");

et je vous assure que ça baigen
0
romain789
Messages postés
5
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
13 août 2009

13 août 2009 à 11:46
Génial ! Ca fonctionne!

Merci beaucoup!
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
13 août 2009 à 11:52
certes...
mais je vous assure qu'il faudrait
sûrement reréfléchir à la conception !
0
romain789
Messages postés
5
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
13 août 2009

13 août 2009 à 12:01
Si j'avais pu j'aurais choisi du PHP,. En fait il s'agit d'une série de 5000pdf d'informations cartographiques qui seront diffusés sur DVD. Pour en faciliter la consultation, un sommaire en HTML était la solution la plus simple puisqu'il s'agit d'une navigation par carte.

Merci encore!
0