Passer Variables entre HTA

Résolu
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011 - 29 nov. 2006 à 10:47
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011 - 30 nov. 2006 à 10:43
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

David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
30 nov. 2006 à 09:18
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+
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 11:40
Bonjour,
   pareil qu'avec un .htm : window.location.search
<hr />
                                                Cordialement                         Bul      
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 11:42
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         
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
29 nov. 2006 à 12:46
les 2 solution ne me renvoie rien????
0

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

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 13:00
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         
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 13:02
et toi, comment fais-tu ? il doit y avoir une erreur.
<hr />
                                       Cordialement             Bul      
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
29 nov. 2006 à 14:00
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.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 14:34
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       [
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 14:40
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       [
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
29 nov. 2006 à 14:58
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
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
29 nov. 2006 à 15:10
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 ;-)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 15:11
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         
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 15:23
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      
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
29 nov. 2006 à 15:30
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
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
29 nov. 2006 à 15:38
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 15:44
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         
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
29 nov. 2006 à 15:57
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??
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 nov. 2006 à 16:11
   .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             [
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
29 nov. 2006 à 16:38
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).
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
30 nov. 2006 à 09:35
le fichier tout zippé est ici:
http://www.javascriptfr.com/code.aspx?ID=40524
0
Rejoignez-nous