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 :

Maintenir la relation avec une popup, sur plusieurs pages


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Par défaut Maintenir la relation avec une popup, sur plusieurs pages
    Bonjour,

    J'ai créé une popup avec window.open, à laquelle j'ai affectée un nom.
    Depuis la page mère, je modifie le contenu de cette popup.

    Jusque là, pas de problème. Seulement, lorsque je change la page de ma fenêtre mère, je perd le lien vers la popup qui n'est plus reconnue.

    Pour imager disons que ma page mère est un magasin avec des liens de navigation (<< ... 4 5 6 7 8 ... >>) qui me permettent de changer de rayon.
    La popup étant mon caddie. Lorsque je suis sur la page qui a créé le caddie, je peux y ajouter les aliments présents dans le rayon en question (modification de la popup depuis la page mère).
    Mais, si je change de rayon (je passe à la page 7 par exemple), le lien qui existait vers mon caddie à disparu !
    Attention, mon histoire de caddie est juste là pour vous donner le concept de fonctionnement. Cela n'a rien à voir avec un vrai caddie de boutique en ligne.

    Cette perte de lien est logique puisque le fichier contenant "l'objet popup" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var MaPopup = window.open(...)
    est rechargé et la variable est donc réinitialisée.

    Ma question est la suivante : est-il possible de faire passer ce lien (cette référence, cet objet... ou je ne sais quoi) entre mes pages (par GET, POST, SESSION PHP ou autre) de façon à continuer d'utiliser ma popup sur plusieurs page de la fenêtre mère ?

    Je suis comme les politiciens à l'assemblée : 2 heures de bla bla pour une question de 3 secondes

    Merci pour vos lumières

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    pour passer une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaPopup.document.getElementById('moninput').value = la variable
    ou alors si tu as une variable globale dasn la popup:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaPopup.variableglobale=parametre
    et depuis la popup en retour...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.opener.obj.value=variableretour
    par exemple ...

    Si tu as un cas plus précis, expose le ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Par défaut
    Salut,

    Merci pour tes réponses mais tout ça, je sais faire.
    Voici un exemple concret :
    Code : 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
    38
    39
    40
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1250">
      <title></title>
      <script type="text/javascript">
      var MaPopup;
     
      function CreerPopup(Nom)
      {
        MaPopup = window.open("", Nom, "width=300,height=300");
      }
     
      function TesterPopup()
      {
        if(MaPopup == undefined || MaPopup.name == null)
          alert("La popup n'existe pas !");
        else
          alert("La popup existe et s'appelle : " + MaPopup.name);
      }
     
      function CreerDiv()
      {
        if(MaPopup != undefined && MaPopup.name == "Pop")
        {
          var NewDiv = document.createElement("div");
          NewDiv.appendChild(document.createTextNode("Nouvelle Div"));
          MaPopup.document.getElementsByTagName("body")[0].appendChild(NewDiv);
          MaPopup.focus();
        }
      }
      </script>
      </head>
      <body>
     
      <input type="button" value="Creer Popup" onclick="CreerPopup('Pop');" />
      <input type="button" value="Ajouter Div" onclick="CreerDiv();" />
      <input type="button" value="Tester Popup" onclick="TesterPopup();" />
      </body>
    </html>
    Le premier bouton crée une popup,
    Le second y ajoute des div (à ce propos le focus ne fonctionne pas ?)
    Le troisième vérifie l'existence de la fenêtre

    Tout marche nickel sauf si je recharge la page mère (pour simuler une pagination par exemple). Là, le test d'existence echoue car la variable "MaPopup" ne contient plus rien.
    C'est normal puisque le Javascript à été rechargé et que la variable a donc été réinitialisée.

    J'aimerais pouvoir stocker quelque part le contenu de "MaPopup" pour pouvoir le récupérer au rechargment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      <script type="text/javascript">
      if(Stockage existe)
         var MaPopup = Stockage;
      else
         var MaPopup = null;
     
      function CreerPopup(Nom)
      ...
    et ainsi récupérer le lien vers la popup.

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ha ben normal car la variable popup est une variable dela page mère si tu fermes ou tu quittes la page mère cette variable est détruite ...

    Sous IE tu pourrait essaye de mettre la popup en variable navigator ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    navigator.MaPopup=window.open ...
    comme ça mêem quand tu quiite la page la variable subsiste ...
    mais c'est exclusif IE


    as tu essayé de faire un test sur le nom de la popup voir si elle existe ?
    gerne sinon il faut passer en paramètre du lien ... voir dasn la FAQ comment passer et recupérer les paramètres dans l'url ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Par défaut
    Citation Envoyé par SpaceFrog
    Sous IE tu pourrait essaye de mettre la popup en variable navigator ...
    Il faut que cela fonctionne aussi sous FF et les autres

    Citation Envoyé par SpaceFrog
    sinon il faut passer en paramètre du lien ... voir dasn la FAQ comment passer et recupérer les paramètres dans l'url ...
    Certes mais là, il ne s'agit pas de passer une chaine de texte (comme le nom de la popup par exemple) qui ne me servirait à rien.
    C'est carrément un objet qui doit transiter...

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    oui je ne penses pas que tu puisse transiter l'objet ...
    mais dire que le nom serait inutile je n'en suis pas si sur ?...

    je teste ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20
  2. Réponses: 2
    Dernier message: 31/05/2006, 09h47
  3. [Struts] Afficher une ArrayList sur plusieurs pages
    Par tshupaka dans le forum Struts 1
    Réponses: 5
    Dernier message: 18/03/2006, 17h21
  4. Aide avec une popup et la page parente
    Par iomega dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 08/12/2005, 15h21
  5. [Struts]Affiche d'une liste sur plusieurs pages
    Par guillaume_85 dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/06/2005, 20h23

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