IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Parent d'un parent ?


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 36
    Points : 20
    Points
    20
    Par défaut Parent d'un parent ?
    Bonjour,

    Je souhaite savoir si il était possible, et si oui, comment, faire en sorte qu'une fenêtre petite fille ferme sa grand mère..

    Je m'explique.

    J'ai une page index.html qui ouvre un popup contenant popup1.html

    Cette page popup1.html ouvre popup2.html et se ferme dès son ouverture.

    Je me retrouve donc avec la page (grand) mère index.html et la page (petite) fille popup2.html d'ouvertes.

    Je veux agir sur la page index.html à partir de popup2..

    J'ai tout essayé sans succès. Si quelqu'un pouvait m'aider !
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 141
    Points
    11 141
    Par défaut
    bonjour,

    voici un exemple :
    parent.htm
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function ouvrePopUp1()
    {
     window.open("pop1.htm","","height=200, width=300");
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
    <h3>Fenêtre parent</h3>
     
    <div>
       <br /><br />
      <input type="button" value="Pop-up 1" id="idButton" onclick="ouvrePopUp1()"/>
      <br /><br />
    </div>
     
    <div id="ZoneTest" style="height: 200px; width: 200px; border: 1px #AAAAAA solid">
    zone de test
    </div>
     
     
    </body>
     
    </html>

    pop1.htm
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function ouvrePopUp2()
    {
     fen = window.open("pop2.htm","","height=200, width=300");
    }
    //-->
    </script>
     
    </head>
     
    <body>
    <h3>pop-up 1</h3>
     
    <div>
      <br /><br />
      <input type="button" value="Pop-up 2" id="idButton" onclick="ouvrePopUp2()"/>
    </div>
     
    </body>
     
    </html>

    pop2.htm
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    var fenGdParent = null;
    function getGdParent()
    {
      fenGdParent = window.opener.opener;
      window.opener.close();
    }
    function transfertMessage()
    {
     var txt = document.getElementById("idTextarea").value;
     fenGdParent.document.getElementById("ZoneTest").innerHTML = txt;
    }
    //-->
    </script>
     
    </head>
     
    <body onload="getGdParent()">
    <h3>pop-up 2</h3>
     
    <div>
      <br />
      <br />
      <input type="button" value="Envoyer dans la zone de test" id="idButton" onclick="transfertMessage()"/>
      <br />
      <textarea rows="2" cols="20" id="idTextarea">bla bla</textarea>
    </div>
     
    </body>
     
    </html>

    également tu peux regarder ce script dans le forum "Contribuez" de Javascript.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    window.opener.opener.. hum intéressant !

    Je test et regarde ton lien dès que j'arrive au taff, merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Ok, je viens de tester le code, ça fonctionne, mais pas avec mes pages.

    J'ai donc cherché à comprendre pourquoi, et en fait, la page popup2.html n'est pas appellée par javascript.

    Je complète donc mon explication


    La page index.html appelle un code javascript Micro Paiement (http://www.micropaiement.com).
    Ce script appelle une iframe qui elle ouvre bien la popup1 avec un window.open

    La page popup1.html contient elle aussi un script Micro Paiement. Ce script est composé d'un formulaire qui envoie par POST avec un target _blank des variables à une page dynamique. Cette page traite les résultats et redirige (genre avec un header en PHP) vers ma page popup2.html

    Pour résumer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    index.html
    -> script qui appelle une page contenant
        ----> iframe qui pointe vers une page qui lance
               ----> window.open qui ouvre
                      ----> popup1.html qui contient
                            ----> formulaire en POST et target _blank qui ouvre
                                  ----> page qui traite les résultats qui
                                        ----> ferme popup1html
                                        ----> ouvre popup2.html
    Je crois que c'est mort

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    et avec ?

    Marrant ...
    Je suis parti pisser et en contemplant... le fond de l'urinoir je me suis dit que je venais de sortir une énormité... enfin le code quoi

    referrer retourne une url sous forme de string...
    opener est un objet (window)


    donc c'est complètement null comme suggestion ...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Bon j'ai trouvé une solution beaucoup plus pratique...

    J'ai fouillé leur code et j'ai copié leur formulaire qui n'a pas l'air d'être dynamique, donc voilà..

    Je pense pas qu'il était possible d'agir sur le parent de toute manière vu le nombre d'appel de page et de manière différente (iframe, popup, _blank).

    Merci à tous ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/05/2012, 21h01
  2. Appeler le constructor du parent d'un parent
    Par ehmicky dans le forum Langage
    Réponses: 8
    Dernier message: 27/11/2011, 03h02
  3. Relation Parent/Enfant - Enfant/Parent
    Par zax-tfh dans le forum Services Web
    Réponses: 1
    Dernier message: 02/03/2010, 17h30
  4. Réponses: 1
    Dernier message: 26/04/2008, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo