Logo principale
La Vita non conosce fine: essa è impermanente e mai soggetta a inquinamenti
Torna alla pagina iniziale Aggiungi ai Preferiti Area Riservata Contatto
::: Testo | A- | A+ | A0 :::
   Pagina iniziale // Programmazione // Gestire i cookies con Javascript
::: Cambia visualizzazione ::: who am i? :::   

Gestire i cookies con Javascript

1 di 2 | >>

In termini tecnici i cookie sono dei file di testo che alcuni siti depositano sul computer client, e che vengono interpretati dal server per raccogliere informazioni di vario genere sulle abitudini e i gusti dell'utente. In questo articolo presenteremo degli esempi.

I cookie sono stati in passato oggetto di polemiche e diffidenza da parte dei navigatori Internet. In termini tecnici i cookie sono dei file di testo che alcuni siti depositano sul computer client, e che vengono interpretati dal server per raccogliere informazioni di vario genere sulle abitudini e i gusti dell'utente. Proprio su questo punto si sono focalizzate le maggiori perplessità di chi ritiene che tale tecnologia possa divenire uno strumento per violare, a scopi commerciali, la privacy di privati cittadini.

In altre parole i cookie sono una sorta di promemoria che il server deposita sui nostri hard disk per tenere memoria di informazioni che altrimenti andrebbero perse al momento dell'uscita dal sito.

Per chi fosse curioso e volesse conoscere tutti i cookie installati sul proprio hard disk, può trovarli, sempre che usi Win95, all'interno della cartella: WINDOWS/COOKIE. Questa piccola ricerca può essere utile per comprendere quali siti si servono di tale tecnologia.

E' bene ricordare che sia Netscape che MSIE permettono di disabilitare i cookie, ovvero di confermarne o rifiutarne l'installazione.

L'esempio in javascript che presentiamo in questo numero si serve proprio dei cookie per determinare il numero di passaggi che un utente compie su una pagina Web. Senza l'uso di cookie tale esempio non sarebbe possibile, visto che il contatore verrebbe azzerato ad ogni nuovo collegamento.

La sintassi javascript è la seguente:

 <Script>
 <!-- 
  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;
  }
 
 function SetCookie (name, value)  {
   var argv = SetCookie.arguments;
   var argc = SetCookie.arguments.length;
   var expires = (2 < argc) ? argv[2] : null;
   var path = (3 < argc) ? argv[3] : null;
   var domain = (4 < argc) ? argv[4] : null;
   var secure = (5 < argc) ? 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 DisplayInfo()  {
   var expdate = new Date();
   var visit;
 
   expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 365)); 
   if(!(visit = GetCookie("visit"))) 
     visit = 0;
   visit++;
   SetCookie("visit", visit, expdate, "/", null, false);
 
   var message;
   if(visit == 1) message=" Benvenuto nelle pagine del mio sito";
   if(visit == 2) message=" Bentornato mister";
   if(visit == 3) message=" Mi fa piacere rivederti";
   if(visit == 4) message=" Oh, chi si rivede!"; 
   if(visit == 5) message=" Qui puoi inserire un messaggio a piacere";
   if(visit == 6) message=" Qui puoi inserire un altro messaggio";
   alert("\n"+"Hai visitato questa pagina\n"+""+visit+" "+"volte."+"\n"+"\n"+message);
  }
 
 function ResetCounts()  {
   var expdate = new Date();
   expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 365)); 
   visit = 0;
   SetCookie("visit", visit, expdate , "/", null, false);
   leapto();
  }
 
 // -->
 
 </Script>
 
Pagina 1 di 2 | Pag. successiva >>
::: Pagina iniziale ::: Torna all'inizio della pagina ::: Stampa la pagina ::: 
Valid HTML 4.01 Transitional Valid CSS!