Passer Variables entre HTA [Résolu]

Signaler
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011
-
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011
-
Bonjour a tous,
J'aurais aimé faire passer un variables lors de l'ouverture d'un hta.
pour un html, il suffit de faire:
[doc.html?var=030
lien
]
puis de decortiquer l'url pour ratraper var=030

mais comment faire quand il s'agit de doc.hta?var=030

Merci d'avance

22 réponses

Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

Bon vu que je suis du genre tenace, j'ai fini par y arriver:
Ouverture d'un hta à partir d'un hta
+ passage de parametre
(P.S: ceci a été testé en local, il semblerait qu'il faut renommer le doc.hta en doc.HTAs (rescepter les majuscule/minuscule de l'extention) pour que ca fonctionne sur le web)

fichier Testindex.hta:
<HTML>
<HEAD>
<TITLE>Testindex</TITLE>
<HTA:APPLICATION ID "Testindex" APPLICATIONNAME "Testindex"
WINDOWSTATE "normal" MAXIMIZEBUTTON "yes" MINIMIZEBUTTON = "yes"
NAVIGABLE = "yes">
<script language="VBScript" type="text/Vbscript">
<!--pour un lien a partir d'un hta sans message d'erreur-->
Sub ouvrir(lien)
Set manipuleFichiers = CreateObject("WScript.shell")
manipuleFichiers.run(lien) 'On lance le HTA !
End Sub
</script>
<script type="text/javascript">
alert(Testindex.commandLine);
</script>
</HEAD>

[# lien]

</HTML>

et le fichier doc.hta:
<HTML>
<HEAD>
<TITLE>doc</TITLE>
<HTA:APPLICATION ID "doc" APPLICATIONNAME "doc" NAVIGABLE = "yes" >
</HEAD>


<script language="JavaScript" type="text/javascript">
<!--Recupere l'adresse URL-->
var URL=doc.commandLine;
alert("URL de la page:"+URL);

<!--Isoler les parametres-->
var ParamEntier=doc.commandLine.split("/?"); //Conserver la lettre du lecteur
alert("1er partie, avant le symbole /?:"+ParamEntier[0]);
alert("2eme partie, apres le symbole /?:"+ParamEntier[1]);

<!--dissocier chaque parametres-->
var Param=ParamEntier[1].split("&");

<!--Afficher les parametres recuperer-->
var NbsDeParam=Param.length; //connaitre la longueur du tableau.
alert("Il y a: "+NbsDeParam+" parametres");
document.write("
");
document.write("Bravo vous avez recuperer tous les parametres: ");
for(i=0;i<NbsDeParam;i++)
{
document.write("
");
document.write("parametre"+i+":");
document.write(Param[i]);
}

</script>

</HTML>

Voila A+
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
   pareil qu'avec un .htm : window.location.search
<hr />
                                                Cordialement                         Bul      
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
sinon, si c'est ce qui est donné sur la ligne de commande au lancement :

<HTA:APPLICATION ID="idHTA"...

 alert("ligne de commande :"+idHTA.commandLine);

<hr />
                                       Cordialement                Bul         
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

les 2 solution ne me renvoie rien????
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
moi si...
pour la 1ère, par exemple, essayer le "doc.hta" ci-dessous :

[doc.hta?var=030 lien]
<script type="text/javascript">
alert("***"+window.location.search);
</script>

au lancement affiche ***, au click sur le lien : ***?var=030

<hr />
                                                      Cordialement                   Bul         
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
et toi, comment fais-tu ? il doit y avoir une erreur.
<hr />
                                       Cordialement             Bul      
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

j'ai esseye ton :
<script type="text/javascript">
alert("***"+window.location.search);
</script> DANS ma page appelée !!

Quand je lance href="doc.html?var=030", la page doc.html me donne bien ?var=030

Par contre qunad je lance href="doc.hta?var=030", la page doc.hta ne me donne rien.

Ce que je veut c'est recuperer mon parametre dans la page (qui est un hta)
qui s'ouvre.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
je demandais d'essayer l'exemple dans "doc.hta" :  tu verras que ça fonctionne.
>>DANS ma page appelée
ça veut dire quoi ? encore une fois, donnes nous ce que tu fais : il  doit y avoir une erreur.
mais comme on ne dispose pas de tout......
<hr />
                                                      Cordialement             Bul       [
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
je demandais d'essayer l'exemple dans "doc.hta" :  tu verras que ça fonctionne.
>>DANS ma page appelée
ça veut dire quoi ? encore une fois, donnes nous ce que tu fais : il  doit y avoir une erreur.
mais comme on ne dispose pas de tout......
<hr />
                                                      Cordialement             Bul       [
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

P.S:Dans ma page appelée=doc.hta

Quand je met ton script dans doc.hta, la page doc.hta ne me donne rien.
La fenetre d'alerte me marque *** c'est tout
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

Voila mes 2 pages reduites:
Testindex.hta:
<HTML>
<HEAD>
<TITLE>Testindex</TITLE>
<HTA:APPLICATION
ID = "Testindex"
APPLICATIONNAME = "Testindex"
WINDOWSTATE = "normal"
MAXIMIZEBUTTON = "yes"
MINIMIZEBUTTON = "yes"
NAVIGABLE = "yes"
>

</HEAD>



Test du lien:
[doc.hta?var=030 lien]
<script type="text/javascript">
alert("ligne de commande :"+Testindex.commandLine);
alert("***"+window.location.search);
</script>


</HTML>


et le doc.hta:
<HTML>
<HEAD>
<TITLE>Affiche_doc en HTA</TITLE>
<HTA:APPLICATION ID "doc" APPLICATIONNAME "doc"
NAVIGABLE = "yes" >
</HEAD>


<script type="text/javascript">
alert("ligne de commande :"+doc.commandLine);
alert("***"+window.location.search);
</script>


</HTML>

je veut donc rechopper le var=030 dans la page doc.hta.
J'espere que c'est mieux comme ca ;-)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
un fichier doc.hta avec ( et seulement  ça ) :

[doc.hta?var=030 lien]
<script type="text/javascript">
alert("***"+window.location.search);
</script>

lancement : affiche ***
click sur lien : affiche ***?var=030

windows XP , Internet Explorer 7.
tu me confirmes ? doc.hta tel quel, quelle version windows, IE ?
      debugger activé ? 

 aucune (?) raisons si avec doc.htm lien vers doc.htm ok !
c'est le cas ?

<hr />
                              Cordialement                Bul         
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
alors "bien entendu", dans testindex.hta, les alert ne donnent rien.
si on clique sur le lien, doc.hta affiche bien ***?var=030
      rien pour commandLine "bien sûr".
<hr />
                                    Cordialement             Bul      
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

fichier doc.hta avec uniquement (pas de balise ni rien d'autre):
[doc.hta?var=030 lien]
<script type="text/javascript">
alert("***"+window.location.search);
</script>

lancement : affiche *** <--- ca je suis OK
click sur lien : affiche ***?var=030 <----NON ca m'ouvre une nouvelle fenetre doc.hta + le message ***, et rien d'autre

config:
--winXP
--IE version 6.00.2800.1106 (avec google bar + autorisation des popup)
--debugger Microsoft actif

Donc y'a un coui**e dans le potage??

Je fait l'essai sur un winXP+packSP2 IE version 6.00.2900.XXXX<---idem
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

alors "bien entendu", dans testindex.hta, les alert ne donnent rien.<--au contraire:
alert("ligne de commande :"+Testindex.commandLine); me donne bien c:\chemin\Testindex.hta
et alert("***"+window.location.search); me donne que *** (logique)

si on clique sur le lien, doc.hta affiche bien ***?var=030 <--- et non ca affiche que ***
rien pour commandLine "bien sûr". <---Ca OK
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
alors... je ne sais pas.
moi : windows XP sp2, IE7 ( mais bon, IE et windows " antérieurs "
   ça devrait baigner, car mes notes datent un peu, et j'avais essayé ? )
   un paramétrage ? quelque part ? mais je ne vois ni où ni quoi.
<hr />
                              Cordialement                Bul         
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

Et zut...

Juste une remarque avec
fichier doc.hta avec uniquement (pas de balise ni rien d'autre):
[doc.hta?var=030 lien]
<script type="text/javascript">
alert("***"+window.location); <--j'ai volontairement enlevé le .search

Lors du clic sur le lien, la fenetre d'alerte sort ***file:///c:/chemin/doc.hta
La nouvelle page s'ouvre, et la barre de titre affiche c:\chemin\doc.hta mais le ?var=030 n'apparait pas<--c'est peut-etre la le probleme

qu'est ce que ca affiche chez toi dans la barre de titre??
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
   .location c'est l'url de la page, normal donc.

>>qu'est ce que ca affiche chez toi 
   la même chose...
   tu as essayé [doc.hta?var= 030" target="other">lien]
   sans target, avec plusieurs variables ?v1=1&v2=2.... ?
   difficile de voir de mon coté, puisque tout baigne.

<hr />
                                                   Cordialement                      Bul             [
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

Non, il veut rien savoir: il ne conseerve que la partie avant le ?,
le reste est perdu.

Moi y'en a pas comprendre????

>>qu'est ce que ca affiche chez toi
la même chose... <--- tu veut dire c:\chemin\doc.hta , ou c:\chemin\doc.hta?var=030 dans la barre des titre je parle (la ou il y a le title habituellement).
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

le fichier tout zippé est ici:
http://www.javascriptfr.com/code.aspx?ID=40524