Conserver le dialogue mère-fille

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 149 fois - Téléchargée 32 fois

Contenu du snippet

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 / Exemple :


<!-- 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

A voir également

Ajouter un commentaire

Commentaires

Messages postés
228
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
27 novembre 2013

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
Messages postés
170
Date d'inscription
mercredi 18 juin 2003
Statut
Membre
Dernière intervention
11 mai 2009

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.
Messages postés
228
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
27 novembre 2013

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
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007

Ah merci, je ne connaissais pas :$
Je regarderai cela dès que j'aurai 5 minutes ;)
Messages postés
170
Date d'inscription
mercredi 18 juin 2003
Statut
Membre
Dernière intervention
11 mai 2009

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

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.