Pb fermer page HTA a partir d'une iframe

lamimol Messages postés 3 Date d'inscription mardi 10 janvier 2006 Statut Membre Dernière intervention 12 janvier 2006 - 11 janv. 2006 à 18:41
Bertr27 Messages postés 50 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 26 juillet 2016 - 12 janv. 2006 à 20:16
Bonjour,





J’ai une page .hta qui s’ouvre en plein écran (j’ai ABSOULUMENT besoin du plein écran)




<html><head>


<HTA:APPLICATION BORDER="thin" CAPTION="no" SELECTION="no" WINDOWSTATE="maximize" CONTEXTMENU="no" />


</head>


<SCRIPT language="JavaScript">


userId = '';


window.name = "indexHTA";


</SCRIPT>


<!-- style="cursor:url('backoffice/images/cursor.cur')">-->


<SCRIPT language="JavaScript">


document.write("");


</SCRIPT>




et qui contient une iframe image.php comme vous pouvez le voir. Le truc c’est que je n’arrive pas à fermer cette fenêtre depuis ma page PHP. J’ai essayé :




windows.parent.close();


windows.top.close();


windows.parent.close();


windows.openerparent.close();


opener.windows.top.close();


top.close();


parent.close();


self.close();


Cela fonctionne avec une page PHP dans l’iframe d’une page HTM mais pas avec une page PHP dans l’iframe d’une page HTA .




J’ai même essayé indexHTA.close() sachant que j’ai nommé la page avant mais rien ne fonctionne. Est-ce du a un problème de passage de variable avec le HTA ?




Est-ce que quelqu’un saurait comment je dois faire ?




Merci d’avance.

7 réponses

Bertr27 Messages postés 50 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 26 juillet 2016
11 janv. 2006 à 20:52
Bonsoir,


Il y a aussi la fonction window.close(); . Sinon, je ne vois pas une fonction qui peut le faire.





Bonne continuation.
PC-PERSO
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 janv. 2006 à 07:57
>>j’ai ABSOULUMENT besoin du plein écran
je veux bien croire, mais qu'est-ce qui peut justifier ça ???
plusieurs réponses quand même,
en voici une : appel d'une function de la "page mère"

page mère :

<html><head>
<HTA:APPLICATION BORDER="thin" CAPTION="no" SELECTION="no" WINDOWSTATE="maximize" CONTEXTMENU="no" />
</head>
<SCRIPT type="text/JavaScript">
function fermer()
{
opener=self;
window.close();
}
userId = '';
window.name = "indexHTA";
</SCRIPT> ....

Iframe :

<gras>pour voir</gras>

Cordialement. Bul. ~
0
lamimol Messages postés 3 Date d'inscription mardi 10 janvier 2006 Statut Membre Dernière intervention 12 janvier 2006
12 janv. 2006 à 10:47
Bonjour et tout d'abord merci à vous 2 pour votre réponse… …mais malheureusement mon problème n’est toujours pas résolu L.




Bertr27, j’avais tenté window.close aussi même si je ne l’avais pas mis dans ma liste. C’est logique que cela ne fonctionne pas car cela aurait pour effet de fermer l’iframe sans fermer son « conteneur ».




Quant à toi Bultez, je me doutais que cette solution n’allait pas marcher pour la raison suivante : j’ai fait des tests pour vérifier si mon iframe connaissait l’identité de son parent. Comme tu as pu le voir dans la page mère (page HTA), j’ai ajouté un :





window.name =’indexHTA’.




Ainsi grâce à un alert(window.parent.name); dans un script javascript de la page PHP de l’iframe, j’ai pu tester si la page PHP reconnaissait sa page mère (la page .HTA). Malheureusement, mon alert était toujours vide (et ce même avec window.self.name, window.self.name, window.name et window.opener.name).




De plus window.opener.name me renvoie une erreur comme si cette iframe ne reconnaissait pas avoir été ouverte par une autre page. J’ai donc rajouté




Ainsi, j’en ai déduit que l’iframe se considère comme la seule page en cours, comme sa propre page mère. Pour moi cela vient du fait que la page mère soit une page HTA parce qu’en changeant juste l’extension en .HTM, ta fonction <italique>fermer()
fonctionne. Malheureusement, et pour répondre à ta question, j’ai besoin du plein écran (inquement possible en .HTA, on ne peut pas enlever la statusbar ni la titlebar) car je fais un test de qualité d’images. Les gens voient une image compressée et lui donne une note de qualité. Les conditions de ces tests sont strictes et seule l’image sur un fond neutre gris doit apparaitre pour ne pas influencer la note. Ce test doit être dispo en ligne donc je dois utiliser un langage de prog Internet. J’espère avoir répondu à ta question.




En attendant, merci quand même pour vos réponses. Si jamais mon nouveau post vous a éclairé, n’hésitez pas à me faire parvenir vos nouvelles réponses. J’espère que mes nouvelles explications vous auront aidé à mieux cerner mon problème. J’avoue que là, je cale. Et les infos sur les Applications HTML ne sont pas nombreuses…




Merci.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 janv. 2006 à 11:07
effectivement, j'avais testé avec un .htm pas avce un .hta
il doit bien y avoir une solution autre qu'envoyer alt+f4 ?

'>pour voir

Cordialement. Bul. ~
0

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

Posez votre question
lamimol Messages postés 3 Date d'inscription mardi 10 janvier 2006 Statut Membre Dernière intervention 12 janvier 2006
12 janv. 2006 à 15:20
Ca marche mec !!!! Bien joué !!! Effectivement, si la seule solution pour fermer c’est de faire ALF+F4, il suffisait de « simuler » un ALT+F4. Le seul souci c’est qu’il faut enabler les Object ActiveX non signés L et je ne peux pas demander à chaque fois aux gens qui utilisent mon appli de le faire. Mais bon au mois, j’ai toujours une solution J.




Merci beaucoup !!!




P.S. : si jamais quelqu’un trouve une solution sans ActiveX, je suis preneur :p
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 janv. 2006 à 15:43
>>il faut enabler les Object ActiveX non signés
C'est bien pour ça que "j'espérais une autre solution..."
éviter l'Iframe ?
lancer un hta, mettre un div/span caché....
Cordialement. Bul. ~
0
Bertr27 Messages postés 50 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 26 juillet 2016
12 janv. 2006 à 20:16
J'ai une solution autre solution. C’est de fermer l’application HTML partir d’elle-même. Plutôt que par l’iframe. Il suffit de fermer par une croix de 12px sur 12px en haut à droite. Comme pour toutes les application classique. Ce qui ne change rien au positionnement de l’iframe. Mais, il faut faire une image pour faire la croix de fermeture.


<html><head>


<HTA:APPLICATION
BORDER="thin"
CAPTION="no"
SELECTION="no"
WINDOWSTATE="maximize"
CONTEXTMENU="no"
/>


</head>


<SCRIPT
language="JavaScript">


userId =
'';


window.name =
"indexHTA";


</SCRIPT>



<!-- style="cursor:url('backoffice/images/cursor.cur')">-->




<SCRIPT
language="JavaScript">


document.write(
" + 1 + "' marginwidth=0 frameborder=no>");


</SCRIPT>


</html>


Bonne continuation.
PC-PERSO
0
Rejoignez-nous