Javascript

Fermé
fartman - 25 mars 2011 à 11:36
boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 - 25 mars 2011 à 17:15
Bonjour à tous,
je voudrais faire une fenêtre qui s'ouvre avec du texte à l'intérieur. Il y a donc la fonction "alert" mais je voudrais que cette fenêtre ne s'affiche qu'une fois par utilisateur, c'est-à-dire seulement la première fois qu'ils viennent sur le site. Il faudrait utiliser les cookies avec Javascript, mais comment ? Quelle code ?
Merci de votre aide.


1 réponse

boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
25 mars 2011 à 17:15
Bonjour,
En s'inspirant de http://www.asp-php.net/tutorial/scripting/cookies.php
(J'ai juste modifié un peu litCook() pour retourner la valeur)

on peut faire un cookie "presence" par exemple lors de la première visite
et tester la présence de ce cookie pour alerter que lors de la première visite

Copier le code ci dessous dans un fichier pour tester :
<html>
<head>
<script language="JavaScript"><!--

   function cre_cook0(nom,contenu) {
      document.cookie = nom + "=" + escape(contenu)
      }
     
   function cre_cook(nom,contenu,jours) {
      var expireDate = new Date();
      expireDate.setTime(expireDate.getTime() + jours*24*3600*1000);
      document.cookie = nom + "=" + escape(contenu)
         + ";expires=" + expireDate.toGMTString();
      }
     
   function lit_cook(nom) {
      var deb,fin
      deb = document.cookie.indexOf(nom + "=")
      if (deb >= 0) {
         deb += nom.length + 1
         fin = document.cookie.indexOf(";",deb)
         if (fin < 0) fin = document.cookie.length
         return unescape(document.cookie.substring(deb,fin))
         }
      return ""
      }
     
   function tue_cook(nom) { cre_cook(nom,"",-1) }

   function askCook(nom) {
      c=prompt("Mettre dans le cookie :","")
      cre_cook0(nom,c)
      }

   function litCook(nom) {
      c=lit_cook(nom)
      if(c=="") alert("Le cookie est vide !")
      else 
	//alert("Le cookie vaut : "+c)
      	return c;
      }

--></script>
<script language="JavaScript"><!--
  function alerterSiInconnu() {
	presence = litCook("presence");
	if (presence == 1) {
		// deja venu on ne fait rien
	} else {
		cre_cook("presence","1", 12);
		alert(" Vous ! vous etes nouveau !?");
	}
  }
--></script>
</head>
<body onload="alerterSiInconnu();">
 du nouveau ?
</body>
</html>
0