La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  Javascript / DOM / Ajax
(Modérateurs: Shain, Netah, Lilian, lauryv, ToToMaStEr)
  Un pop-up qui ne s'ouvre qu'une fois MAIS pour TOUT le site
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Un pop-up qui ne s'ouvre qu'une fois MAIS pour TOUT le site  (Lu 861 fois)
Un pop-up qui ne s'ouvre qu'une fois MAIS pour TOUT le site
« sur: le 16-09-2004 a 23:58:54 »
overthemoon
Membre récent
*

Hors-Ligne

Messages: 1





Voir le Profil    WWW
Répondre avec citation

Bonjour,

J'ai actuellement un jeu sur le site (http://www.spielbergfansite.com/leterminal/) se lançant par un système de pop-up (il s'ouvre quelque soit la page du site).

Pour ne pas importuner les visiteurs, je voudrais qu'il ne s'ouvre qu'une fois par session, et ceci sur tout le site, pas uniquement sur une page (en cliquant sur un lien vers une page différente, il ne s'ouvrira pas à nouveau, comme c'est le cas actuellement).

Voici le script que j'utilise, il se trouve dans un fichier nommé "terminal.js", que j'appelle dans chaque page HTML.

----- CODE -----
function OuvrePopup() {
   // Verifie que le cookie "terminal" n'est pas present
   if (GetCookie("terminal")==null) {
      var winleft = (screen.width-500)/2;
      var wintop = (screen.height-300)/2;
      windowprops = "width=500, height=300, top=" + wintop + ", left=" + winleft + ", location=no, scrollbars=no, menubars=no, toolbars=no";
      window.open("http://www.spielbergfansite.com/leterminal/concours/terminal_pop1.html", "terminal", windowprops);
      var pathname=location.pathname;
      var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';
      var date_exp = new Date();
      date_exp.setTime(date_exp.getTime()+(12*3600*1000)); // 12 heures
      SetCookie("terminal","ok",date_exp,myDomain);
   }
}

function ViderCookie() {
      var pathname=location.pathname;
      var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';
      var date_exp = new Date();
      date_exp.setTime(date_exp.getTime()-(1000)); // Heure deja expiree
      SetCookie("terminal","",date_exp,myDomain);
}

function SetCookie (name, value) {
   var argv=SetCookie.arguments;
   var argc=SetCookie.arguments.length;
   var expires=(argc > 2) ? argv[2] : null;
   var path=(argc > 3) ? argv[3] : null;
   var domain=(argc > 4) ? argv[4] : null;
   var secure=(argc > 5) ? argv[5] : false;
   document.cookie=name+"="+escape(value)+
      ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
      ((path==null) ? "" : ("; path="+path))+
      ((domain==null) ? "" : ("; domain="+domain))+
      ((secure==true) ? "; secure" : "");
}

function getCookieVal(offset) {
   var endstr=document.cookie.indexOf (";", offset);
   if (endstr==-1)
            endstr=document.cookie.length;
   return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
   var arg=name+"=";
   var alen=arg.length;
   var clen=document.cookie.length;
   var i=0;
   while (i<clen) {
      var j=i+alen;
      if (document.cookie.substring(i, j)==arg)
                        return getCookieVal (j);
                i=document.cookie.indexOf(" ",i)+1;
                        if (i==0) break;}
   return null;
}

OuvrePopup();
----- CODE -----

J'ai vérifié dans le dossier des cookies ce qui est créé. J'imaginais un fichier unique du type "mon_nom@terminal[1].txt" (ce qui je pense permettrait une reconnaissance sur tout le site), mais au lieu de cela, il se crée plusieurs cookies du type "mon_nom@lire[1].txt", "mon_nom@actus[1].txt" etc ("lire", "actus" étant les noms de répertoire sur mon site).

Si ça peut vous aider, voici ce que le cookie "mon_nom@voir[1].txt" contient:
--- cookie ---
terminal
ok
www.spielbergfansite.com/voir/
1088
1542457984
29662196
3339554880
29662095
*
--- cookie ---

Merci par avance pour votre aide !
David

PS: comme lien utilisé plus haut, je n'ai pas mis la page d'accueil du site, parce qu'elle n'est pas liée à ce fichier "terminal.js", le pop-up s'ouvre en permanence pour les internautes qui voudraient à nouveau y avoir accès.

Rapporter au modérateur  

Re:Un pop-up qui ne s'ouvre qu'une fois MAIS pour TOUT le site
« Répondre #1 sur: le 22-09-2004 a 11:19:40 »
Netah
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1256



ZoneB.org
netah_x@yahoo.com
Voir le Profil    WWW
Répondre avec citation

Dans "document.cookie.name" enleve la ligne :
Code:

  ((path==null) ? "" : ("; path="+path))+

Rapporter au modérateur  

skalae.frStages photo - Blog Webmaster - Twitter TLS
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg