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

el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 9 mai 2007 à 12:39 - Dernière réponse : el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention
- 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
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 9 mai 2007 à 14:42
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    

Merci cs_bultez 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 126 internautes ce mois-ci

Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 9 mai 2007 à 12:51
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
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 9 mai 2007 à 12:53
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
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 9 mai 2007 à 13:15
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
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 9 mai 2007 à 14:26
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
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 9 mai 2007 à 15:30
0
Merci
Merci de ton aide.
Commenter la réponse de el_teedee
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 9 mai 2007 à 16:40
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.