Conserver le dialogue mère-fille

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

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.