begin process at 2012 02 13 06:48:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Fonctionnement d'une propriété d'un navigateur

 > 

Fermeture de popup par la page parente


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fermeture de popup par la page parente

mercredi 3 janvier 2007 à 18:48:39 | Fermeture de popup par la page parente

chino18

Bonjour à tous et bonne année .

Mon problème est le suivant:
J'ai une page principale qui ouvre un popup. Lors de la fermeture de ce popup, j'exécute une fonction JS qui appartient à la page principale ( la page parente).

Le soucis c'est que si l'utilisateur vient à changer de page principale, tout simplement en navigant sur le site, alors forcément la fermeture de mon popup déclenchera une erreur.

Je voudrais donc savoir s'il existe une méthode permettant de retrouver les popups ouverts depuis la page principale, et également de pouvoir provoquer leurs fermeture, toujours depuis cette même page.

Voilà. J'espère avoir été clair

-- message approuvé par Jean-Claude Van Damme --
jeudi 4 janvier 2007 à 09:50:20 | Re : Fermeture de popup par la page parente

bultez

Membre Club




Bonjour,
   pas très bien compris le souci.

   faut-il tester si la page mère existe ?
      : tester un objet de la page mère, récupérer l'erreur, style :
          var r;
          try      {
                       r=window.opener.document.objet de la page mère;
                    }
          catch(e) { 
                       r="fermée";
                     }
          alert(r);

   faut-il tester si les pop-up existent ?
      : résultat du window.open dans un array. style :
         var pop=new Array(); ...
         pop[xxx]=window.open(....
         ...if ( !pop[yyy].closed ) pop[xxx].close();
         
         xxx =pop.length, par exemple
         yyy = de 0 à pop.length-1, par exemple


               Cordialement             Bul          [mon Site]    [M'écrire]
jeudi 4 janvier 2007 à 10:17:50 | Re : Fermeture de popup par la page parente

chino18

En fait ce que je veux faire c'est pouvoir fermer tous les popups qui ont été ouverts par la page parente, dès que celle-ci doit être fermée ou change d'url.

Ta 2eme solution me semble être la plus intéressante. Je vais tester ça de suite.

Merci Bul!

-- message approuvé par Jean-Claude Van Damme --
jeudi 4 janvier 2007 à 12:13:43 | Re : Fermeture de popup par la page parente

chino18

J'ai testé ta solution marche bien. j'ai mis en place la fonction suivante:

// tableau stockant tous les popups ouverts
arrayPopupsOpened = new Array();

function autoClosePopups()
{

    for( var cpt_popup =0; cpt_popup < arrayPopupsOpened.length; cpt_popup++)
    {
        if(!arrayPopupsOpened[cpt_popup].closed)
        {
            arrayPopupsOpened[cpt_popup].close();
        }
    }
}

qui est appelée lors de la fermeture de ma page parente:

<body ... onbeforeunload="autoClosePopups();">


Mais je suis confronté à un autre problème:
Certains popups possèdent eux aussi un évènement onbeforeunload, dans lequel est appélée une fonction appartenant à la page parente (le cas que j'ai évoqué précedemment).

Exemple dans le body du popup:
<body ... onbeforeunload="opener.fctBidon();">

Et là ça plante, le popup me sort une erreur JS: "Cet objet ne gère pas cette propriété ou cette méthode".
Comme si fctBidon(); n'existait plus, donc comme si la page parente avait déjà perdu son contenu.

Si c'est le cas alors je vois pas trop quelle solution je trouver... Mais dans ce cas je comprend pas trop le fonctionnement du onbeforeunload


-- message approuvé par Jean-Claude Van Damme --
jeudi 4 janvier 2007 à 12:37:10 | Re : Fermeture de popup par la page parente

bultez

Membre Club
Réponse acceptée !






onbeforeunload, c'est juste avant ( Plaisante.gif ) onunload.
( Hein.gif n'est-ce pas spécifique IE d'ailleurs ??? )

le close sur le pop-up déclenche on[before]unload ?

°appliquer la solution 1 de mon 1er message ( appel
   de la fonction et récupérer l'erreur : try/catch )
°mettre un délai avant de fermer la page mère ( beurk/bof ... )
°ou autre solution ? Hein.gif

la plupart des traitements sont "asynchrones" avec le javascript
il doit (???) pouvoir arriver que les pop-up ne soient pas
fermés avant que la page mère ne le soit.

je suppute... à contrôler/tester


            Cordialement          Bul       [mon Site]    [M'écrire]
on ne dit pas je suppute mais je suis péripatéticienne
jeudi 4 janvier 2007 à 14:40:55 | Re : Fermeture de popup par la page parente

chino18

Yepeeee!! Avec ta 1ere solution en complément ca marche impeccable.

J'ai enfin réussi à faire ce que je voulais. Merci encore.

-- message approuvé par Jean-Claude Van Damme --


Cette discussion est classée dans : page, fermeture, popup, principale, parente


Répondre à ce message

Sujets en rapport avec ce message

popup à la fermeture du site [ par SYL20 ] Bonjour,Je cherche des choses au sujet des popups... J'aimerais en l'occurence faire en sorte qu'un petit mot du genre "merci de votre visite" apparai Passage de variable [ par iomega ] bonjour à tous et merci pour votre aideon m'a dit de voir avec des pros du javascript je suis d'abord allé sur un forum php et mon re-dirigé vers vous Recuperer champs d'un popup dans la page pricipale [ par roucky49 ] Salut,j'ai un problème, sur ma page principale, l'utilisateur peut cliquer sur un lien qui ouvre un popup. Dans ce popup il y un un champs texte ou il Recuperer une variable d'un popup [ par orsam ] Bonjour à tous !Je suis en train de m'arracher les cheveux depuis quelques jours avec ce probleme...J'explique le souci !J'aimerais avoir une page pri probleme de popup [ par cciiia ] Bonjour j'ai un problème concernant les popups,Ma page principale est une page qui permet de s'identifier. elle lance à son démarrage une page popup q Fermeture de popup et envoi d'informations [ par Rankin ] Salut à tous. Je bosse actuellement sur la réalisation d'un site, qui contient une partie administration pour gérer des bases de données. Une partie Recuperer champ popup [ par JMKPROD ] Salut,j'ai un problème, sur ma page principale, l'utilisateur peut cliquer sur un lien qui ouvre un popup. Dans ce popup il y un un champs texte ou il Recuperation valeur objet popup depuis page parente [ par souvent ] Bonjour,J'ai une fenêtre principal qui appel un popup (window.open...) pour sélectionner des éléments d'une liste déroulante,je voudrais que ces éléme Fermeture popup puis actualisation de la page [ par mcjulio42 ] Bonjour,J'ai un petit soucis.Sur une page de mon site, j'ai posté des articles avec la possibilité à chaque article d'ajouter un commentaire mais auss ouvrir une page comme popup [ par mkfreedown ] Bonjour Je veux faire ouvrir une page web, par exemple quand j ouvre une page web, une autre page s ouvreras automatiquement, c est le même principe


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales