Dalogue de fenêtres mère/fille

Contenu du snippet

Script assez complet permet de découvrir prseque toutes les fonctionnalités de gestion des fen^tes en Javascript (tant pour la fen^tre d'appel aue la fenêtre activée )

Source / Exemple :


fenetre_mere_fille.html

<html>
<head>
  <title>Pour approfondir les dialogues possibles entre page appelant
fenêtre et fenêtre appelée..ICI page appelante..La Maman..!</title>
<script language="JavaScript"><!--
var flag=false;// Variable globale à cette page
/*********
flag est un boolean FAUX si pas de fenêtre 
et VRAI si fenêtre
Ceci pour éviter l'erreur si on tente d'écrire dans
une fenêtre non créée..!

                    • /
function create_fen() { fen1=window.open('','pedagogie', 'width=300,height=200,left=200,top=100,screenX=200,screenY=100'); //Ci-dessus: (left,top) pour IExplorer et (screenX ,screenY) pour Netscape fen1.focus();// pour que cette fenêtre soit toujours en avant..! flag=true; // pour mémoriser l'existence de cette fenêtre..! } function ecrire_fen()// rôle : écrire la lettre dans la fenêtre.. {if (flag) // donc , si la fenêtre existe.. { fen1.document.open() fen1.document.write('<body bgcolor="oldlace">'); fen1.document.write('<font color="navy" size=+2 face="Brush Script MT,Arial">'); fen1.document.write(document.fmere.zone.value); fen1.document.write('</font>'); fen1.document.write('</body>'); fen1.document.close(); fen1.focus(); }else mes_err(); // si la fenêtre n'existe pas ..on prévient! } function page_fen()// Emettre une page à la fenêtre {if (flag)// si fenêtre existe { fen1.location.href="fille.html"; fen1.focus();// fenêtre en avant. }else mes_err();// si la fenêtre n'existe pas on prévient. } function close_fen()//pour fermer la fenêtre {if (flag)// si la fenêtre existe { fen1.close(); flag=false; // mémorisation de fenêtre n'existant pas. }else mes_err();// si elle n'existe pas on prévient. } function mes_err()// le message d'erreur.. { alert('Créez d\'abord la fenêtre..!'); } //--> </script> </head> <body bgcolor="#EEEEEE" onUnload="JavaScript:if (flag) fen1.close();"> <form name="fmere"><b><font face="Verdana,Arial"><font color="#333333"><font size=-1>Ce script permet d'explorer les possibilités de gestion des fenêtres.</font></font></font></b> <br><b><font face="Verdana,Arial"><font size=-1><font color="#333333">Remarquez bien quelques unes des fonctionnalités du</font> <font color="#FF0000">'dialogue MERE/FILLE'</font></font></font></b> <br>&nbsp; <p><font face="Verdana,Arial"><font color="#000099"><font size=-2>Je suis la 'Maman' ( page d'appel ) et je peux écrire à ma 'Fille' ( la fenêtre ).</font></font></font> <br><font face="Verdana,Arial"><font color="#000099"><font size=-2>Ma 'Fille' peut aussi m'écrire...!</font></font></font> <p><b><font face="Verdana,Arial"><font color="#FF0000"><font size=-1>Testez ..</font></font></font></b> <br>&nbsp; <table WIDTH="80%" > <tr> <td COLSPAN="2"><input type="button" value="Créer ma 'FILLE'" onClick="create_fen()"></td> </tr> <tr> <td><input type="button" value="Ecrire &agrave ma 'Fille'" onClick="ecrire_fen()"></td> <td ALIGN=RIGHT><textarea cols=25 rows=5 name="zone">Taper ici le contenu de la lettre</textarea></td> </tr> <tr> <td COLSPAN="2"><input type="button" value="Mettre une Page à la fenêtre" onClick="page_fen()"></td> </tr> <tr> <td ALIGN=CENTER COLSPAN="2"> <br><input type="button" value="Refermer la Fenêtre" onClick="close_fen()"></td> </tr> </table> </form> </body> </html> fille.html <html> <title>La fenêtre FILLE ..Elle peut recevoir des commandes depuis la page appelante ( la Mère )..et aussi émettre des commandes vers sa 'mère'..</title> <script language="JavaScript"><!-- function lettre_a_maman()// rôle: écrire dans la page appelante 'Maman' {if (opener != null) opener.document.fmere.zone.value="Coucou Maman..!"; else { alert("Maman n'est pas là..!C'est elle qui doit m'appeler !" ); location.href="fenetre_mere_fille.html"; } /**** opener représente en JavaScript la page ayant ouvert la fenêtre .. donc sa 'Mère'..Donc opener.document est la Page HTML : mere.html
                                                                                                                                    • /
} //--> </script> <body bgcolor="#aaffff"> <center> Je suis la FILLE de la page principale,<br> mais je peux toujours appeler ma 'Mère<br> et bien d'autres choses encore ..!<br> <br> Vous pouvez vérifier. <br> <form name="ffille"> <input type="button" value="Ecrire à Maman" onClick="lettre_a_maman()"> </form> </center> </body> </html>

Conclusion :


La propriété opener.document permet à la page fille.html d'écrire dans un objet de la page mère.Fenêtre fille put utiliser variables ou fonctions definies dans la page d'appel (ici fenetre_mere_fille.html)

Volà, j'espère ke ça vous permettra de mieux comprendre la gestion des fen^tre avec Javascript.
Bonn' prog à tous !!

@++
pi0up51
www.infobox51.fr.st

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.