dervoyage
Messages postés7Date d'inscriptionvendredi 5 septembre 2008StatutMembreDernière intervention14 septembre 2008
-
11 sept. 2008 à 19:19
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
14 sept. 2008 à 14:43
Voici mon code :
<html>
<head>
<title>Essai</title>
</head>
</html>
je souhaite fermer cette fenêtre si elle perd son focus, par exemple si l'utilisateur fait un <tab> ou toute autre action. Le problème est que si l'utilisateur clique dans la couche "bloc" le système déclenche aussi le onblur, donc le close(), et ... je ne veux pas. J'ai besoin de la couche bloc.
dervoyage
Messages postés7Date d'inscriptionvendredi 5 septembre 2008StatutMembreDernière intervention14 septembre 2008 14 sept. 2008 à 10:48
J'ai résolu le pb du bouton droit de la souris sur la
voici le source en hta :
il fallait ajouter dans le un onfocus et onclick = "window.focus();"
<html>
<head>
<title>Essai</title>
<HTA:APPLICATION ID = "Test2"
APPLICATIONNAME "Test" WINDOWSTATE "normal" MAXIMIZEBUTTON = "yes" MINIMIZEBUTTON = "yes" SELECTION="no">
<script LANGUAGE=JavaScript>
var foc1=true;
var foc2=true;
function attend() {
if (foc2) {
if (foc1) window.close();
else foc1 = true;}
else foc2 = true;
}
function boutondroit() {
if ((event.button 2) || (event.button 3) || (event.button == 4)) {
foc2 = false;
alert('Bouton interdit');
return false;
}
}
</script>
</head>
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 sept. 2008 à 10:52
dieu me tripote... mon message disparut corps et bien dans les méandres
de CodesSources ou celles du Web ?
je reposte alors....
bonjour,
donc, ce que tu voudrais, finalement, c'est
evt.cancelBubble = true; et/ou evt.stopPropagation(); mais du parent vers l'enfant quoi....
je ne sais pas s'il existe quelque choses, à part le faire manuellement...
onfocus sur le div ==>>> ne pas traiter le onblur sur le body
onblur sur le body : il faut traiter ? non==> remettre en état, oui : ne rien faire
( ou pas loin )
une ch'tiote variable globale à mettre à true ou false et à tester... quand il faut quoi.....
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 sept. 2008 à 12:37
complément : il faudra probablement un setTimeout dans le onblur du body,
puisqu'il doit être déclenché avant le onfocus
ou alors tester qui a le focus....
Cordialement Bul [mon Site] [M'écrire], <!--
Vous n’avez pas trouvé la réponse que vous recherchez ?
dervoyage
Messages postés7Date d'inscriptionvendredi 5 septembre 2008StatutMembreDernière intervention14 septembre 2008 12 sept. 2008 à 13:37
<html>
<head>
<title>Essai</title>
<script LANGUAGE=JavaScript>
var test = 0;
</script>
</head>
</html>
J'ai ajouté des alertes pour connaître l'ordre des événements.
Lorsque l'on entre dans la page, si je clique sur
IE déclenche onblur puis onfocus.
Puis,
Si je fais un simple clic sur , puis clique sur
, IE déclenche onfocus puis onblur.
Si je fais un double clic sur , puis clique sur
, IE déclenche onblur puis onfocus.
je ne comprends plus rien à l'ordre d'exécution des événements ?
dervoyage
Messages postés7Date d'inscriptionvendredi 5 septembre 2008StatutMembreDernière intervention14 septembre 2008 12 sept. 2008 à 16:31
J'ai essayé la fonction attend(), ça fonctionne sauf que maintenant sur
lorsque je vais un <tab> la fenêtre ne se ferme pas. Donc j'ai ajouté sur le
onclick="window.focus();" et ca fonctionne. Mais maintenant si je clique sur le bouton droit de la souris suivi d'un <tab> la fenêtre ne se ferme pas ???
Comme tu me parais très compétent j'en profite.
J'ai un HTA1 qui lance un HTA2 par un RUN Activex pour les messages de sécurité.
Je souhaite que HTA1 recoit une donnée de HTA2. Comment puis-je passer cette donnée.
Par un fichier texte, par un cookie ou par la base des registres, je ne sais pas quelle solution choisir, c'est pour faire un dvd et ca doit tourner sur la machine client sans problème de sécurité.
As- tu une idée ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 13 sept. 2008 à 08:38
je n'ai testé pas testé avec FF, puisqu'il refuse de fermer la fenêtre dans ces conditions
( il faudrait tester dans un pop-up )
mais avec IE, Opera, safari... ça baigne.
normalement on ne pose qu'une question par sujet ;o)
pourquoi ne pas faire un window.open depuis le hta1
pour lancer le hta2 ? si des activeX sont
nécessaires, met les dans hta1 et hta2
appellera des fonctions de window.opener.hta1
dervoyage
Messages postés7Date d'inscriptionvendredi 5 septembre 2008StatutMembreDernière intervention14 septembre 2008 13 sept. 2008 à 11:24
Pour le 1er pb, ça fonctionne sauf si l'utilisateur clique avec le bouton droit de la souris dans la
et qu'ensuite il fasse <tab> dans ce cas la fenêtre ne se ferme pas. J'ai essayé beaucoup de chose, trapper le bouton droit, ajouter des euh=false, je n'arrive pas à fermer cette foutu fenêtre. Sinon dans les autres cas elle se ferme !!!
Pour le 2eme pb, qui est lié au 1er, j'utilise le HTA donc IE.
HTA2 doit être lancé en pleine écran donc si j'utilise :
un open html, j'ai des messages de confirmation pour l'utilisation des scripts.
un open hta, j'ai le message voulez-vous enregistrer ou exécuter le hta.
d'où le run hta, pour ne plus avoir à confirmer les messages.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 13 sept. 2008 à 12:44
>> j'ai des messages de confirmation pour l'utilisation des scripts.
il faut un paramétrage de IE, rien d'autre
clique droit sur la bandeau d'erreur, tout est expliqué ( de mémoire d'Alzheimer )
sinon oui, window.open d'un hta propose d'enregistrer ou d'exécuter
Cordialement Bul [mon Site] [M'écrire], <!--
dervoyage
Messages postés7Date d'inscriptionvendredi 5 septembre 2008StatutMembreDernière intervention14 septembre 2008 13 sept. 2008 à 14:22
oui, je sais mais le dvd que je suis entrain de créer n'est pas que pour moi et je ne souhaite pas que l'utilisateur doive modifier ces parametres pour executer mon appli d'où mon choix.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 13 sept. 2008 à 14:54
si un utilisteur refuse le javascript, ou refuse les activex, ou refuse... je ne sais quoi
pas de solution en .htm
en .hta... pas même sûr... faudra contrôler ! et là, mon foie c'est comme un exécutable
dans d'autres langages.
donc... ne pas ouvrir une autre page ( iframe, div .... )
ou transmettre les données par cookie, dans un fichier, par l'url, par ce que tu veux...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 sept. 2008 à 14:43
ah c'est vrai... j'ai oublié d'aller jusqu'au bout de la question !
tu as résolu : bravo et merci de nous donner une solution,
Cordialement Bul [mon Site] [M'écrire], <!--