Fermer toutes les popups filles d'une fenêtre [Résolu]

el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 16 avril 2007 à 17:36 - Dernière réponse : el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention
- 17 avril 2007 à 12:22
Bonjour,

j'ai mon site qui ouvre des popups avec des noms précis. Je voudrais lorsque l'utilisateur ferme le site (onunload sur la page principale), que toutes les popups ayant été ouvertes (et encore actives) soient fermées par javascript.

Comment je peux faire ?

<ol><li>Est-ce qu'il faut les mettres dans un tableau puis parcourir le tableau lors de la fermeture ?</li><li>Est-ce qu'il existe pas une petite méthode pour récupérer les window filles ?</li></ol>Merci
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 17 avril 2007 à 12:22
3
Merci
Bon, j'ai trouvé la solution qui me convenait. Je l'explique rapidement :

index.html qui contient une iframe. maFrame.jsp

code javascript dans index.html :
var child;

function addWin(win)  {
    if (child == null) {
        child = new Array();
    }
    child[child.length] = win;
}

function closeApplis() {
     if (child != null) {
         for (var i=0;i<child.length;i++) {
              child[i].close();
         }
    }
}

maFrame.jsp ouvre popups. A chaque ouverture, je fais :
top.addWin(OpenWin);

Et pour finir, sur le onunload de index.html, je brache ceci :

Résulat, je peux naviguer dans l'iframe, mais seulement quand on quitte le site, les popups se ferment...

Merci el_teedee 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de el_teedee
stfou 454 Messages postés samedi 16 avril 2005Date d'inscription 18 avril 2007 Dernière intervention - 16 avril 2007 à 17:59
0
Merci
Bonjour,
je pense qu'en définissant chacune de tes popups dans un tableau tu pourra les fermer, exemple :

var fenetres_actives=[];



fenetres_actives.push(window.open("tapage"));
fenetres_actives.push(window.open("encore une page"));



et à la fin :
for(i=0;i<fenetres_actives.length;i++){fenetres_actives[i].close();}






Ou encore dans chacune de tes popups, dans leur code source tu rajoute :
window.opener.onunload=window.self.close();

<hr />



<hr />
<sup>
STFOU
</sup>
Commenter la réponse de stfou
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 17 avril 2007 à 12:11
0
Merci
Bon, alors c'est un peu plus compliqué.

STFOU, c'est ce que je fais actuellement, remplir un tableau de mes popups. Ca marche, le truc étant que je dois faire la fermeture dans la page qui contient mon iframe.

J'ai fais un test ce matin, ca marche, lorsque je n'ai pas rafraîchit l'iframe. Si je la rafraichit, (ce qui arrivera), je pense que le tableau est réinitialisé, donc il perd les pointeurs vers les popups.

Comment à l'instar de l'exemple ci dessous, accéder à une variable js depuis l'iframe vers le conteneur de l'iframe. Un truc du genre :

top.document.maVar , ou top.maVar

Je voudrais que le tableau ne soit pas local à l'iframe, mais local au conteneur de l'iframe pour ne pas le perdre à chaque fois que la page est rechargée...


Accéder à une variable js d'une iframe
http://www.wikistuce.info/doku.php/javascript/lire_une_variable_qui_se_trouve_dans_une_frame_ou_un_popup
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.