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 :

popup fille communiquant avec fenêtre mère changeante


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut popup fille communiquant avec fenêtre mère changeante
    Bonjour,
    voici:
    • une page du site ouvre un un popup lecteur mp3 avec window.open. Là, pas de souci...
    • je peux la contrôler grâce à son identifiant, et ajouter des morceaux à la playlist (flowplayer le fait facilement)
    • je change de page, le lecteur tourne, mais comment le contrôler à nouveau depuis cette nouvelle page?

    si vous connaissez des ressources à ce sujet c'est avec plaisir, je n'ai rien trouvé...
    Si jamais, j'utilise jqery (très humblement, je débute en js)...
    merci d'avance

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 649
    Points : 11 138
    Points
    11 138
    Par défaut
    bonsoir,

    tu trouveras sans doute ce que tu cherches ici :
    http://www.developpez.net/forums/d27...enetre-enfant/

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    merci,
    j'ai déjà lu ce sujet, il est question de mon problème ici, mais la seule solution ne me convient pas vraiment (voir le post suivant, on imagine que c'est pas vraiment une solution...)

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Si tu navigues dans une page ou dans l'autre, le lien entre les deux fenêtres disparait et tu ne peux plus communiquer de l'une à l'autre.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    Si tu navigues dans une page ou dans l'autre, le lien entre les deux fenêtres disparait et tu ne peux plus communiquer de l'une à l'autre.
    c'est bien la ma question: comment faire? comment fait myspace par exemple? (bon, vu la lourdeur des pages et la lenteur du site, ce n'est vraiment pas un exemple de programmation, mais il fait ça...). J'ai essayer de tracer les évènements avec firebug, mais ça me fait planter firefox...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    bon, j'ai trouvé une solution ici, mais je veux bien quelques explications:
    Dans la fenêtre mère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var popupWin = null;
     
    function openPopup() {
    	var url = "popup.htm";
    	popupWin = open( "", "popupWin", "width=500,height=400" );
    	if( !popupWin || popupWin.closed || !popupWin.doSomething ) {
    		popupWin = window.open( url, "popupWin", "width=500,height=400" );
    	} else popupWin.focus();
    }
     
    function doSomething() {
    	 openPopup();
    	 popupWin.doSomething();
    }
    Dans la fenêtre fille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    self.focus();
     
    function doSomething() {
    	alert("I'm doing something");
    }
    ça fonctionne, du moins sur firefox...
    Mais je ne comprends pas bien où se situe l'astuce !?!
    Je ne comprends pas non plus cette méthode open() sans objet
    C'est que je vais évidemment adapter ce code, et donc si je ne le maîtrise pas...

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 649
    Points : 11 138
    Points
    11 138
    Par défaut
    bonsoir,

    il vérifie dans un premier temps si une pop-up existe (d'où le open sans url).
    En passant : window.open() ou open() sont les mêmes fonctions

    Si la fenêtre n'existe pas on l'ouvre avec l'url indiquée, sinon on lui donne le focus.

    Il semblerait logique que la fonction doSomething() de la fenêtre parent soit exécutée lorsque son url change (sur l'événement onload de body).

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    bon, si je comprends bien, c'est une sorte de contournement...
    je viens de mettre le lecteur en ligne:
    http://ohmy.ch/artists
    les sons sont dans les pages des artistes...
    [hs]J'ai utilisé flowplayer, qui est très puissant et controlable par js api... il lui manque toutefois quelques fonctionalité et il y a quelques bug...[/hs]

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    j'ai tout de même un souci avec safari:
    est-il possible qu'il n'accepte pas les affectation de variables de mère à fille?
    si je fais depuis la fenêtre mère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    fenFille.maVariable = 'toto' ;
    //puis dans la fille:
    alert(maVariable);
    je n'ai rien qui s'affiche, même pas un 'undefined'.
    Par contre ça fonctionne pour les fonctions. Dans la mère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    fenFille.alert('toto') ;
    //ouvre un 'alert'
    Quelqu'un a déjà expérimenté ceci avec safari? une idée pour un controunement?

Discussions similaires

  1. Enregistrer les paramètres de la fenêtre fille dans la fenêtre mère
    Par enusius dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/11/2013, 16h46
  2. popup : changer image fille avec image mère
    Par niavlys77 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/06/2009, 15h05
  3. Réponses: 2
    Dernier message: 30/06/2006, 14h20
  4. [popup] commnunication avec la fenêtre mère
    Par zulkifli dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 09/02/2006, 11h33
  5. Passage de paramètre fenêtre mère --> popup fill
    Par senacle dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/10/2005, 15h48

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