Vérifier l'existence d'une popup par son nom

Résolu
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 9 mai 2007 à 12:39
el_teedee Messages postés 497 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

7 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 mai 2007 à 14:42
>>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    
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 mai 2007 à 12:51
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    
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 mai 2007 à 12:53
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    
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 mai 2007 à 13:15
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    
0

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

Posez votre question
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
9 mai 2007 à 14:26
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.
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
9 mai 2007 à 15:30
Merci de ton aide.
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
9 mai 2007 à 16:40
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
0
Rejoignez-nous