Forum Clubic

Communication entre popup et page appelante

:hello:

Je voudrais savoir s’il est possible d’appeler une fonction sur la page mère à partir du popup.
Je m’explique :s
page1 -> clic -> ouvre page2
page2 -> clic -> execute une action sur page1

Merci :slight_smile:

Oui tout à fait.
(Par contre, je ne sais pas comment : mais je suis sûr que ça existe)

window.opener?


[www.toutjavascript.com...](http://www.toutjavascript.com/reference/reference.php?ref=opener&parent=6) ;)

Ca serait donc window.opener.mafonction() ?
Merci :wink:

Question supplémentaire : est il possible de faire attendre le script de la page appelante ? Tout comme le fait prompt.
Ceci afin de continuer avec les valeurs renvoyées par le popup…

Difficilement je dirais. Tout dépend de ce que tu entends par “faire attendre”.

Les popups ne sont pas des fenêtres modales; ce que IE supporte (mais c’est du propriétaire donc on oublie).

Ma fonction ressemble à ceci


function mafonction() {
// code divers

// appel de la popup
// attendre que la popup mette le resultat dans res
// equivalent de 'var res = prompt("Question","")'

// finition grace à la variable res
}


Le problème c’est que je peut pas faire une fonction spéciale “finition” car elle utilise des variables définites avant (dans la fonction mafonction() )

A priori, si je dis pas d’ânerie, si tu fais ça :

function f() {
this.a = ‘blargh’;
}
var machin = new f();

Et ensuite

window.opener.f.a;

Tu dois avoir moyen d’appeler la variable f.

Un objet est accéssible par toutes les fonctions ?

Si je fait :


<script language="JavaScript">
window.onload = load();

function f() {
this.a = 'blargh';
}

function load() {
var machin = new f();
alert(f.a);
alert(machin.a);
}

function afficher() {
document.write(machin.a);
}

afficher();
</script>

j’obtient : une alert “undefined”
une alert “blargh”
rien sur la page

logique pour : alert(f.a);

si tu veux, ça devrait être :

f.prototype.a = ‘blargh’; ou un truc du genre.

Je comprend pas trop prototype
www.toutjavascript.com…

ps : aucune expérience en JS/DHTML :stuck_out_tongue: