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: