|
Tester présence d'un fenetre fille malgré rechargement du parent (opener) ? |
|
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
|
Bonjour,
Dans un module que je suis en train de créer j'ouvre une fenetre popup en créant simultanément un cookie qui servira de flag.
Je voudrais qu'à la fermeture de cette popup le cookie soit supprimé ... mais je n'y arrive pas !
Si je supprime le cookie dans la popup au moment de la fermeture cela n'est pas pris en compte dans la page parente (le site), le cookie reste présent.
En fait je voudrais tester si cette popup a été fermée manuellement, et je ne sais pas comment faire ...
Posté le : 23/02/2009 10:23
|
signé: LionHell
|
|
Re: Comment supprimer cookie í la fermeture d'une fenetre fille ? |
|
Team FrXoops
Inscrit: 14/05/2004 22:32
|
Bonjour Ca me parait normal, il faudrait rafraichir le parent, et encore ce n'est pas sur. Sinon je n'ai pas de solution immédiate, mais en regardant du côté de la gestion des smiley (ouverture d'une fenêtre et selection d'un smiley), on doit pouvoir trouver un début de solution peut être (le [plus] sous la présente fenêtre)!!! JJDAI
Posté le : 23/02/2009 13:15
|
|
|
Re: Comment supprimer cookie í la fermeture d'une fenetre fille ? |
|
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
|
c'est possible en javascript, juste avant la fermeture de la fenêtre : javascript+supprimer+cookie
Posté le : 23/02/2009 16:52
|
|
|
Re: Tester présence d'un fenetre fille malgré rechargement du parent (opener) ? |
|
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
|
Non Dugris, ça ne va pas, car je connais la commande pour supprimer le cookie. Le problème est quand le visiteur ferme manuellement la popup .... l'évènement onclose n'existe pas, il faut utiliser onbeforeunload ...
J'approche de la solution, il y a parfois une anomalie, mais c'est satisfaisant... je vous tiens au courant.
Posté le : 24/02/2009 15:18
|
signé: LionHell
|
|
Re: Tester présence d'un fenetre fille malgré rechargement du parent (opener) ? |
|
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
|
En fait, ZE problème c'est que lorsqu'on clique sur 'accueil', le cookie semble être "oublié" par le site et la musique se recharge ... C'est systématique quand on a visité le module news, et aléatoire le reste du temps. Vas voir sur www.ch-pertuis.com que je suis en train de développer. J'aimerais trouver un moyen qui teste la présence de la popup (cookie, session, teste présence fenetre), ça fait des heures que je consulte des pages internet pour essayer de trouver, mais ça ne fonctionne pas. J'ai l'impression que le rechargement de xoops à chaque changement de page annule les cookies ou je ne sais quoi ! HELP !!!!
Posté le : 24/02/2009 15:49
|
signé: LionHell
|
|
Re: Tester présence d'un fenetre fille malgré rechargement du parent (opener) ? |
|
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
|
Voici ce que je mets tout à la fin du index.php à la racine du site: Citation : //- Fond sonore - DEBUT -// echo '<script>';
// effaceCookie() echo 'function effaceCookie(){'; setcookie('wclose','',time()-4000); echo '}';
echo '</script>';
// Si cookie n'existe pas ouvrir popup if (!$_COOKIE['wclose']){ setcookie('wclose','ok',time()+3600); echo '<script>'; echo 'ambi = window.open("modules/mp3player/player.php", "AudioVideo", "width=300, height=100, toolbar=no, scrollbars=no, status=no, resizable=yes, fullscreen=no, titlebar=no, left=0, top=0", "false")'; echo '</script>'; } //- Fond sonore - FIN -//
Dans player.php je mets: Citation : // Les fonctions javascript echo '<script >';
echo 'function fermeture(){'; echo'window.opener.effaceCookie()'; echo '}';
echo '</script>'; // Fin fonctions
echo '<body onload="this.blur()" onbeforeunload="fermeture()">';
Dans les préférences du site, si je ne mets pas de module en page de démarrage ça fonctionne. Si je mets le module news en page d'accueil ça ne fonctionne pas. D'autre part quand on revient à l'accueil, des fois ça marche, des fois ça ne marche pas, la popup se recharge ! Le cookie semble oublié ! Questions: - l'évènement onbefore unload se déclenche à quels moments exactement ? - lorsqu'on revient à l'accueil du site cela efface t'il la session ou les cookies ? si oui pourquoi pas toujours ???
Posté le : 24/02/2009 17:22
|
signé: LionHell
|
|
Re: Tester présence d'un fenetre fille malgré rechargement du parent (opener) ? |
|
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
|
J'ai rebaptisé la discussion ... .
Posté le : 24/02/2009 18:07
|
signé: LionHell
|
|
Re: Tester présence d'un fenetre fille malgré rechargement du parent (opener) ? |
|
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
|
up...
Posté le : 25/02/2009 11:06
|
signé: LionHell
|
|
Re: Tester présence d'un fenetre fille malgré rechargement du parent (opener) ? |
|
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
|
Je vais reformuler ma question pour qu'elle reste plus largement ouverte, car en fait peu m'importe la méthode !
Ce que je veux faire:
- A l'arrivée sur le site, une popup doit s'ouvrir pour lire un fichier MP3.
- Pendant la navigation cette fenetre ne doit pas se recharger pour que le MP3 ne soit pas interrompu ou relancé.
Il faut donc tester si la fenetre est ouverte, et si oui ne rien faire !
Comment ?
Posté le : 25/02/2009 19:09
|
signé: LionHell
|
|
Re: Tester présence d'un fenetre fille malgré rechargement du parent (opener) ? |
|
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
|
Je progresse ! Le problème est presque réglé ... il n'y a plus qu'une anomalie, que vous pouvez peut-etre m'aider à surmonter ! J'ouvre la fenetre popup avec "ambi = window.open(..." Si je rafraichis le site, ou que je clique sur accueil (ça fait apparemment la même chose), la variable ambi est perdue ! Et si je fais "ambi.close()" j'obtiens une erreur. Comment gérer ce problème ? Faites l'essai sur http://www.ch-pertuis.comLancez la musique ou l'annonce et ensuite faites un refresh ou cliquez accueil. Si vous cliquez sur 'arreter' ensuite, erreur (signalée en bas à gauche)
Posté le : 26/02/2009 17:33
|
signé: LionHell
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|