J'ai testé ta solution marche bien. j'ai mis en place la fonction suivante:
// tableau stockant tous les popups ouvertsarrayPopupsOpened = new Array();
function autoClosePopups(){
for( var cpt_popup =0; cpt_popup < arrayPopupsOpened.length; cpt_popup++) { if(!arrayPopupsOpened[cpt_popup].closed) { arrayPopupsOpened[cpt_popup].close(); } }}qui est appelée lors de la fermeture de ma page parente:
<body ... onbeforeunload="autoClosePopups();">Mais je suis confronté à un autre problème:
Certains popups possèdent eux aussi un évènement onbeforeunload, dans lequel est appélée une fonction appartenant à la page parente (le cas que j'ai évoqué précedemment).
Exemple dans le body du popup:
<body ... onbeforeunload="opener.fctBidon();">
Et là ça plante, le popup me sort une erreur JS: "Cet objet ne gère pas cette propriété ou cette méthode".
Comme si
fctBidon(); n'existait plus, donc comme si la page parente avait déjà perdu son contenu.

Si c'est le cas alors je vois pas trop quelle solution je trouver... Mais dans ce cas je comprend pas trop le fonctionnement du onbeforeunload

-- message approuvé par Jean-Claude Van Damme --