Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONSERVER LE DIALOGUE MÈRE-FILLE


Information sur la source

Description

Bonjour, ce code permet de conserver le dialogue entre la fenetre mère et la fenetre fille meme si la fenetre mère change de page...

L'utilité pour moi était de faire une interface de debuggage pour le php pour tout mon site sans avoir a ouvrir une popup par page débugger ou que la popup se rafraichisse a toute les fois (lorsqu'on ouvre 2 popup avec le meme nom, elle reprend sa forme originelle, vive sakura ;) )

Le timeout a une milliseconde est la seulement pour permettre a la page mere de changer de page avant d'executer la fonction...
 

Source

  • <!-- mere.html -->
  • <html>
  • <head>
  • </head>
  • <script>
  • var w;
  • function ecrire()
  • {
  • w.document.getElementById("allo").innerHTML = "ecrit par mere1";
  • }
  • </script>
  • <body onUnload="w.changelocation();">
  • <a href="#" onClick='w=window.open("popup.html","pop1","width=200,height=200,status=1, resizable=1");'>ouvrir fene</a>
  • <a href="mere2.html">mere2</a>
  • </body>
  • </html>
  • <!-- mere2.html -->
  • <html>
  • <head>
  • <script>
  • var w;
  • function ecrire()
  • {
  • w.document.getElementById("allo").innerHTML = "ecrit par mere2";
  • }
  • </script>
  • </head>
  • <body onUnload="w.changelocation();">
  • <a href="mere.html">dsds</a>
  • </body>
  • </html>
  • <!-- popup.html -->
  • <html>
  • <head>
  • </head>
  • <script>
  • function changelocation()
  • {
  • setTimeout("opener.w = window.self;opener.ecrire();",1)
  • }
  • </script>
  • <body>
  • YEEEEEEEEEEEEEEEEEEEHAAAAAAAAWWWWWWWWWWWWWWw
  • <div id="allo"></div>
  • </body>
  • </html>
<!-- mere.html -->
<html>
<head>
</head>
<script>
var w;
function ecrire()
{
w.document.getElementById("allo").innerHTML = "ecrit par mere1";
}
</script>
<body onUnload="w.changelocation();">
<a href="#" onClick='w=window.open("popup.html","pop1","width=200,height=200,status=1, resizable=1");'>ouvrir fene</a>
<a href="mere2.html">mere2</a>
</body>
</html>


<!-- mere2.html -->
<html>
<head>
<script>
var w;
function ecrire()
{
w.document.getElementById("allo").innerHTML = "ecrit par mere2";
}
</script>
</head>

<body onUnload="w.changelocation();">
<a href="mere.html">dsds</a>
</body>
</html>


<!-- popup.html -->
<html>
<head>
</head>
<script>

function changelocation()
{
setTimeout("opener.w = window.self;opener.ecrire();",1)
}
</script>
<body>
YEEEEEEEEEEEEEEEEEEEHAAAAAAAAWWWWWWWWWWWWWWw
<div id="allo"></div>
</body>
</html>

Conclusion

En résumé il se sert de unload pour savoir si l'utilisateur change de page ... malheureusement si il ferme le navigateur ou si il change de page avec l'url il va avoir une petite erreur

la solution pour l'éviter serai de mettre un event sur chaque lien mais bon, ca devient lourd...

Si vous avez une autre solution pour faire environ la même chose merci de me le dire ..

J'espere que ca peut vous etre utile.

@+ Arkko
 

Commentaires et avis

signaler à un administrateur
Commentaire de MaX3315 le 22/11/2005 14:07:45

Salut,

Je te conseil de regarder du cote de onBeforeUnLoad... bien plus puissant que unLoad puisqu'il intervient meme si l'utilisateur ferme le navigateur. Ca devrait fonctionner sous IE et Firefox.

DSL j'ai pas d'URL sous le coude.

MaX3315

signaler à un administrateur
Commentaire de Arkko le 22/11/2005 16:03:43

Ah merci, je ne connaissais pas :$
Je regarderai cela dès que j'aurai 5 minutes ;)

signaler à un administrateur
Commentaire de speedylol le 01/03/2006 13:22:23

bonjour et avec des page en php cela tourne comment stp??? pour cette partie innerHTML cela deviens innerPHP alors c'est une simple question merci de ta réponse

signaler à un administrateur
Commentaire de MaX3315 le 01/03/2006 13:53:53

Si dans la popup du veux utiliser du php avec admettons des POST tout en gardant un lien vers la fenetre appelante je te conseille de faire une popup en html... qui contient une frame (ou iframe) php.  comme ca ton fichier php utilisera window.top.opener...
Pour mes scripts je procedès comme cela.

signaler à un administrateur
Commentaire de speedylol le 05/03/2006 18:34:23

bonjour serais tu m'expliquez en quelque mot comment cela fonction si je vous ecrire a la mére la fille serais repondre dans un popup cela est possible

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.