Dalogue de fenêtres mère/fille

Soyez le premier à donner votre avis sur cette source.

Snippet vu 25 493 fois - Téléchargée 27 fois

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

Ajouter un commentaire Commentaires
Messages postés
4
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
8 avril 2013

question: peut-on échanger des données (dans les deux sens) avec une fenêtre générée par un logiciel non Microsoft ? (mais fonctionnant sous Windows) je n'ai pas accès au code source, c'est un EXE écrit en C++, mais je ne peux en savoir plus.
l'objectif: prendre des données dans un tableau Excel et les transférer dans cette fenêtre qui est relative aux coordonnées XY d'un objet.
Ou, ce script permet-il seulement de communiquer avec une page html ?
Messages postés
8
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
19 avril 2009

Quand l'une ou l'autre se recharge la variable d'ouverture est perdue ... plus moyen d'accéder à la fille, ou inversement à la mère .
Messages postés
4
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
21 novembre 2006

bon j'ai reussi a faire marché et je ne sait pas pour qu'elle raison cela ne marché pas ... rhalala la logique d'un ordinateur ça me tue >.<
Messages postés
4
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
21 novembre 2006

code pas mal et bien annoté, c'est ce que j'avait besoin.

Mais helas je n'arive pas a recupéré la variable que j'envoie par la fille sur la mere que j'ai crée, alors que ça marche en le modifiant entre mere fille du source.

probleme du au php?
Messages postés
10
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
18 octobre 2006

Pour récupérer le infos, utilises un opener
Afficher les 14 commentaires

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.