I cookie sono dei piccoli file di testo che vengono creati sul computer client durante la navigazione di talune pagine web al fine di memorizzare delle informazioni utili all’esperienza di navigazione dell’utente. La principale proprietà JavaScript che andremo ad utilizzare è document.cookie, che ci permette di creare, leggere, modificare e cancellare lato client.
Di seguito forniremo delle funzioni per la gestione dei cookie con JavaScript:leggiCookie(nomeCookie), scriviCookie(nomeCookie,valoreCookie,durataCookie) e cencellaCookie(nomeCookie) che ci consentiranno di manipolarli interamente e facilmente.
/* Funzione che serve per la lettura dei cookie. */
function leggiCookie(nomeCookie){
if (document.cookie.length > 0){
var inizio = document.cookie.indexOf(nomeCookie + "=");
if (inizio != -1){
inizio = inizio + nomeCookie.length + 1;
var fine = document.cookie.indexOf(";",inizio);
if (fine == -1) fine = document.cookie.length;
return unescape(document.cookie.substring(inizio,fine));
}else{
return "";
}
}
return "";
}
/* Funzione che scrivere un cookie in JavaScript. */
function scriviCookie(nomeCookie,valoreCookie,durataCookie){
var scadenza = new Date();
var adesso = new Date();
scadenza.setTime(adesso.getTime() + (parseInt(durataCookie) * 60000));
document.cookie = nomeCookie + '=' + escape(valoreCookie) + '; expires='
+ scadenza.toGMTString() + '; path=/';
}
/*
* Funzione che serve per cancellare un cookie in JavaScript,
* settando la sua durata ad un valore minore di zero.
*/
function cancellaCookie(nomeCookie){
scriviCookie(nomeCookie,'',-1);
}
Per chiamare queste funzioni utilizzeremo rispettivamente le seguenti diciture:
- 1)Lettura del cookie var nome_cookie = leggiCookie(‘NOME_COOKIE’);
- 2)Scrittura del cookie scriviCookie(‘NOME_COOKIE’,’valore_cookie’,60); dove 60 è la durata in minuti del cookie
- 3)Cancellazione del cookie cancellaCookie(‘NOME_COOKIE’);
Il fondamentale punto per cui utilizzare queste funzioni è appunto la possibilità di manipolare i cookie non solo lato server mediante, ma anche lato client mediante JavaScript