Vérifier l'existence d'une popup par son nom [Résolu]

Messages postés
498
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
13 juillet 2015
- - Dernière réponse : el_teedee
Messages postés
498
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
13 juillet 2015
- 9 mai 2007 à 16:40
Bonjour,

pour faire simple, j'ai 2 ie ouverts. Le premier m'ouvre une popup nommée "maPopup", la fonction this.open me retournant l'objet Popup.

Je voudrais savoir comment dans le 2eme ie, vérifier qu'une popup de ce nom existe ou pas, et si elle existe la récupérer pour alors faire un .focus dessus.

Comment récupérer l'objet popup dans mon 2eme ie, pour pouvoir faire un .focus dessus ?

(Actuellement, le 2eme ie fait un this.open("maPopup" ...  ce qui revient à un .focus puisqu'un autre ie l'a déjà ouverte), mais ca ne me convient pas).

Le contexte : il s'agit d'une web application en mode authentifié, et vu qu'on peut se logger plusieurs fois sous IE, il faut que la popup reste unique peut importe le nombre de navigateur ouverts.

Merci
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
44
3
Merci
>>un IE n°2 pouvait récupérer un objet window
d'un IE n°1.
>>S'il faut passer par Active X et compagnie,
    coté client, à mon humble avis : oui

>>c'est mort,
trop compliqué.
    pas tant que cela, mais il faudra quand même un autre langage

>>j'avais pensé à stocker la popup côté serveur,

   
à mon humble avis :
ce serait plus simple de voir de ce coté là.
    ( surtout si FireFox intervient )

>>mais ca oblige un aller retour client serveur.
    certes.






<hr />



Cordialement            Bul    

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 139 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
44
0
Merci
Bonjour,

    pas tout suivi, mais s'il s'agit de tester dans la 2ème pop-up
    si la 1ère est ouverte :

    page "principale" :

<script type="text/javascript">
    var p1=window.open("p1.htm");
    var p2=window.open("p2.htm");
</script>

    1er pop-up :

p1.htm, ne fait rien.

    2ème pop-up :

   
qui retourne true si le pop-up est fermé, false sinon.

    et si je n'ai pas compris, des explications supplémentaires m'aiderainet peut-être ?

<hr />


Cordialement        Bul    
Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
44
0
Merci
ah....
>>il faut que la popup reste unique peut importe le nombre de navigateur ouverts.
j'avais pas lu... ça... ce qui veut dire tester la pop-up d'une autre instance ?



<hr />



Cordialement    Bul    
Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
44
0
Merci
on ne dit pas que c'est exclusif IE, mais :

>>

vérifier qu'une popup de ce nom existe ou pas,



    activeX ( les API existent, probablement à écrire ? ) qui regarde les fenêtres ouvertes
    noter quelque part ( registre, fichier... ) que cette fenêtre est ouverte ou pas
>>pour pouvoir faire un .focus dessus
    activeX nécessaire ( les API windows existent
, probablement à écrire ?
)
    pour retrouver la fnêtre et lui donner la main.

    loin d'être sûr que ce soit une bonne approche.
    >>web application en mode authentifié
    ça veut dire quoi ?
    peut-être regarder du coté du serveur, s'il y a, ce serait beaucoup plus simple





<hr />



Cordialement                Bul    
Commenter la réponse de cs_bultez
Messages postés
498
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
13 juillet 2015
7
0
Merci
Bah en fait, c'est une webapp J2EE sur un serveur tomcat.

Je viens de me rendre compte que le problème arrive aussi sous Firefox :
voilà ce que j'aimerais faire :
1°) ouvrir IE n°1, se logguer, ouvrir le lien qui ouvre la popup : disons qu'elle s'appelle 'maPopup'. L'objet window de la popup est stocké dans la page html dans un script Javascript. Comme ça, à l'avenir, je le récupère et je peux faire un focus dessus,etc...
2°) ouvrir IE n°2, il faut se relogguer. ouvrir le lien qui ouvre la popup. Là, mon script Javascript ne connaît pas la popup puisqu'elle n'a pas été ouverte par cet IE n°2, donc il va essayer d'en ouvrir une nouvelle. Le this.open rafraîchit la popup qui existe en fait (par le IE n°1), et moi je ne veux pas qu'elle soit rafraîchie, seulement 'focusée' (j'ai un traitement qui se lance à l'ouverture de la popup, mais pas lors du focus)

Donc je voulais savoir si un IE n°2 pouvait récupérer un objet window d'un IE n°1. S'il faut passer par Active X et compagnie, c'est mort, trop compliqué. Sinon, j'avais pensé à stocker la popup côté serveur, mais ca oblige un aller retour client serveur en plus par rapport au javascript seul.
Commenter la réponse de el_teedee
Messages postés
498
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
13 juillet 2015
7
0
Merci
Merci de ton aide.
Commenter la réponse de el_teedee
Messages postés
498
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
13 juillet 2015
7
0
Merci
Donc en gros, pour ceux qui seraient dans le même cas que moi, c'est pas possible en Javascript uniquement, et c'est logique. Tant pis :p
Commenter la réponse de el_teedee

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.