Communication entre Fenetres Javascript

Résolu
MasterCent Messages postés 83 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 14 décembre 2011 - 19 mai 2008 à 15:50
MasterCent Messages postés 83 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 14 décembre 2011 - 19 mai 2008 à 18:14
Niveau : AVANCE !

Bonjour,

Mon problème est simple (a énnoncer) :
Dans un navigateur (firefox), sous javascript, une fenetre A  ouvre une autre fenetre B.
Je désire informer B que celle qui l'a ouvert est A, afin que B puisse appeler une fonction de A (ou plus exactement de son "créateur").
Car, évidemment, si c'est C qui a ouvert B, B devra appeler la fonction dans C.

Je pensais à une solution du type :




// dans le script ouvrant ( A ou C ):
function ouvrir () {

    B = window.open ( "b.html" , "B" ) ;
    B.addParent ( self ) ;

}

// Dans B, la fonction addParent serait du genre :
var parent ;
function addParent ( oParent){
    parent = oParent ;
}

// dans B, appel de la fonction
 parent.Event (... )  // avec Parent pouvant valoir A ou C selon celui qui a crée B



J'arrive à bidouiller  quelquechose, mais j'ai entre autres des problème de synchronisation, 
et des fonctions qui ne sont pas reconnue si je ne déclare pas document.addParent = addPrent; etc...
A terme, je souhaite pouvoir travailler avec des collection de "Listenner"

Qui a une idée ?

Merci
Ph. 

Ps : pour completer l'info, il s'agit d'interfacer des tables d'une DB,
Une fenetre me permettant de modifier un champ Foreygn Key d'une autre table.
 

2 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
19 mai 2008 à 15:55
Bonjour,
>>
ans un navigateur (firefox), sous javascript, une fenetre A  ouvre une autre fenetre B.
>>Je désire informer B que celle qui l'a ouvert est A, afin que B puisse appeler une fonction de A

    le pop-up s'adresse à la page qui l'a créée par window.opener

    une fonction de A ? : window.opener.function_de_a(paramètre);

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
3
MasterCent Messages postés 83 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 14 décembre 2011 1
19 mai 2008 à 18:14
Je pense que ca va vraiment m'aider. Grand Merci.

Ph.

    function Ouvre (strUrl){
        tmp = window.open ( strUrl , "B" ) ;
    }

    function Repond ( objFils , arg ) {
        alert ( arg ) ;
    }

    function Appel ( arg ) {
        window.opener.Repond ( self , arg ) ;
    }
0
Rejoignez-nous