Table des matières
Niveau
..........
En rapport...

Frame, Iframe, PopUp et javascript

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.

Avant d'aller plus loin

Tous au long des exemples, je vais faire appel au fichier b.htm. Voici son contenu :

html4strict
<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.

Frame et Iframe

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.

html4strict
<iframe src="b.htm" name="fb"></iframe>

celui-ci est tres important puisqu'il va nous permettre d'identifier la frame

N'essayez pas d'utiliser ID plustot que NAME car cela ne fonctionnerait pas.

Pour obtenir une variable contenu par notre iframe, on procède comme ceci :

javascript
window.frames.NAME_DE_LIFRAME.NOM_DE_LA_VAIABLE

ce qui nous donne pour notre exemple :

javascript
window.frames.fb.myvar

PopUp

Pour le popup la méthode est similaire dans le principe.
Pour ouvrir un popup, on utilise la fonction window.open

la syntaxe de cette fonction est :
window.open(“URL”,”nom_de_la_fenetre”,”options_de_la_fenetre”);

Lorsque nous faisons appel à fonction, on obtient en retour un identifiant de liaison avec le popup

javascript
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 :

javascript
pw.myvar

Exemples

L'archive ci-dessous contient un exemple fonctionnel.
iframe_popup.zip

Sur le même sujet

Vous pouvez aussi consulter : cibler un element dans une iframe



09/06/2006 11:56 -

iDo –