









Souvent sur les forums je vois des gens chercher comment obtenir une variable javascript qui est définie dans un popup ou dans une iframe.
Je vais vous donner une des solutions possibles.
Tous au long des exemples, je vais faire appel au fichier b.htm. Voici son contenu :
<html> <head> <title>.</title> </head> <body> <script type="text/javascript"> var myvar="plop"; </script> </body> </html>
La seule chose qui nous importe ici est la variable myvar.
Pour obtenir une variable qui se trouve dans une iframe (même combat pour la frame) vous devez avoir avant toute chose défini un l'attribut name de votre iframe.
<iframe src="b.htm" name="fb"></iframe>
celui-ci est tres important puisqu'il va nous permettre d'identifier la frame
Pour obtenir une variable contenu par notre iframe, on procède comme ceci :
window.frames.NAME_DE_LIFRAME.NOM_DE_LA_VAIABLE
ce qui nous donne pour notre exemple :
window.frames.fb.myvar
Pour le popup la méthode est similaire dans le principe.
Pour ouvrir un popup, on utilise la fonction window.open
Lorsque nous faisons appel à fonction, on obtient en retour un identifiant de liaison avec le popup
var pw=window.open("b.htm","pop"); //pw contient un identifiant de liaison avec le popup.
Cet identifiant va nous permettre de communiquer directement avec la fenêtre en popup.
Pour lire une variable on fera donc comme ceci :
pw.myvar
L'archive ci-dessous contient un exemple fonctionnel.
iframe_popup.zip
Discussion