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 :

variable javascript partagee par plusieurs pages


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut variable javascript partagee par plusieurs pages
    on a deux pages a.html, b.html
    un menu contenant deux entrees : chaque entree charge la page correspondante.
    dans chaque page, il ya un bouton qui ouvre la popup p.html

    scenario:
    menu_a ouvre a.html
    clik bouton ouvre p.html
    menu_b ouvre b.html
    clik bouton devrait mettre le focus sur p.html
    fin scenario

    comment gerer cela sans utiliser les frames ?

    A+

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    a priori (si j'ai bien compris le scenario), il suffit d'ouvrir la pop avec le même nom, en JS et non via un lien.
    Dans a.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    une_pop=window.open("pop1.html", "la_pop");
    dans b.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    une_autre_pop=window.open("pop2.html", "la_pop");
    En faisant appel à la_pop, une nouvelle pop est ouverte si elle n'existe pas encore. Si elle existe déjà, son contenu est remplacé par la nouvelle page.
    Si elle ne repasse pas en 1° plan par défaut, il suffit d'ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="this.focus();">
    dans pop1.html et pop2.html ...

    A+

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    je ne pense pas que tu as compris le scenario

    d'une part, je ne veux pas changer le contenu de la popup si elle est ouverte

    d'autre part, je veux juste mettre un focus deçu a partir de la page2.

    en gros, je ne sais pas si en JS on peux gerer des variables comme en JAVA : avec une declaration "public static" ?

    c'est a dire partager une variable entre plusieurs pages ??


    A+

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par mourad.zamoun Voir le message
    je ne pense pas que tu as compris le scenario
    Disons que c'est ce que j'ai compris de ton scenario

    Il faut que toutes tes fenêtre soient ouverte via window.open()
    Dans le menu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    page_a=window.open("page_a.html", "pagea");
    page_b=window.open("page_b.html", "pageb");
    En gardant la même syntaxe pour l'ouverture de la pop (à partir de
    page_a.html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    une_pop=window.open("pop.html", "la_pop");
    Dans la seconde fenêtre (b.html) tu dois pouvoir faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    opener.page_a.une_pop.focus();
    A+

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    page_a et page_b ne sont pas ouverts comme des popups !

    en plus, il faut que ca soit symetrique:

    si page_a a ouvert la pop, page_b ne doit faire que le focus deçu
    et inversement.

    A+

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par mourad.zamoun Voir le message
    si page_a a ouvert la pop, page_b ne doit faire que le focus deçu
    As-tu lu (et compris) le code que je t'ai donné ?
    On ne dirait pas.
    Citation Envoyé par mourad.zamoun Voir le message
    et inversement.
    Je suis sûr que tu sait faire un copié/collé, et que tu as assez d'imagination pour appliquer la solution en sens inverse

    Citation Envoyé par mourad.zamoun Voir le message
    page_a et page_b ne sont pas ouverts comme des popups !
    Alors tes fenêtres n'ont pas d'identifiant et ce que tu demandes n'est pas possible.

    A+

  7. #7
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    donc tout reside sur le fait que les pages appelantes (dont l'une ecrase l'autres sur le broser) doivent avoir un identifiant ?

    en plus de cela, il n ya pas que deux pages qui doivent partager cette popup; mais bcp bcp plus ...

    si j'ai bien compris, JS ne sait pas gerer cette situation.

    merci en tout cas pour tes reponses.

    a bientot.


  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par mourad.zamoun Voir le message
    donc tout reside sur le fait que les pages appelantes (dont l'une ecrase l'autres sur le broser) doivent avoir un identifiant ?
    Effectivement, l'accès à une fenêtre par une autre est soumis au fait qu'elle ait un identifiant.
    window.open() le permet, mais en cas d'ouverture via un lien html (<a href...>), seul la communication entre une fille et sa page mère est possible.
    Et uniquement dans ce sens (fille -> mère), en préfixant les instructions JS par "opener."

    EDIT : et je parle bien de "fenêtres" et non de "pages". Le lien entre les pages d'une même fenêtre se fait via les paramètres de l'url appelée ...

    A+

  9. #9
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    ya pas moyen d'avoir des infos sur les fenetres ouvertes ?

    ya pas moyen de stocker une reference de type window dans un objet plus global comme "navigator" ou cookie, ... ?

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Et non, car sans window.open() tu ne récupères pas l'identifiant de la fenêtre lorsque tu l'ouvres.
    Tu n'as donc rien à stocker ...

    A+

  11. #11
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut RESOLU
    il suffit juste de rajouter ce code dans la popup.html


    /** afin de ne pas perdre la ref de ma popup (la presente fenetre-ci) */
    function majVarPopupWin(){
    window.opener.popupWin = this;
    setTimeout("majVarPopupWin()",500);
    }
    majVarPopupWin();

    a bientot ;
    Mourad

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

Discussions similaires

  1. passer variable javascript en php même page
    Par brutalus dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/11/2010, 19h25
  2. Récup variable Javascript dans une autre page
    Par michelle1000 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/09/2006, 06h58
  3. Réponses: 18
    Dernier message: 31/05/2006, 17h48
  4. [Javascript] Passer une variable javascript en param de page
    Par Psykorel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/04/2006, 15h04
  5. [Débutant - Avis] même variable dans plusieurs pages...
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 16/12/2004, 22h50

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