Set e Get Cookie in JavaScript [PILLOLA]

Può capitare che durante la realizzazione di applicazioni web si incorra nella necessità di dover scrivere e leggere cookie.
Creare un cookie in JavaScript è abbastanza semplice, ma allo stesso tempo, “brutto” da scrivere.
Il metodo di creazione più completo di un cookie è il seguente:
document.cookie = "nomecookie=Valore del cookie; expires=Thu, 25 Dec 2016 12:00:00 UTC; path=/";
In questo modo diremmo al nostro browser di creare un cookie di nome nomecookie contenente il valore Valore del cookie con scadenza il 25 Dicembre del 2016 alle 12.00 UTC, relativo alla pagina corrente /.
Una volta creato il cookie, per poterlo leggere sarà necessario utilizzare la seguente sintassi:
var listaCookie = document.cookie;
il valore della variabile listaCookie però conterrà tutti i cookie presenti nel browser relativi alla pagina nel formato cookie1=valore1;cookie2=valore2;nomecookie=Valore del cookie; etc.. etc.., per trovare il nostro cookie quindi, occorrerà eseguire una ricerca all’interno di questa (volendo enorme) stringa.
Per semplificarmi la vita, ho realizzato due comode funzioni.
Funzione per creare un cookie
/** * Crea un cookie * * @param nome * il nome del cookie * @param valore * il valore del cookie * @param ggScadenza * scadenza del cookie in giorni * @param path il percorso relativo al cookie */ function setCookie(nome, valore, ggScadenza, path) { if (path == undefined) { path = "/"; } var d = new Date(); d.setTime(d.getTime() + (ggScadenza * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toUTCString(); document.cookie = nome + "=" + valore + "; " + expires + "; path=" + path; }
Esempio:
setCookie('ilMioCookie', 'valore del mio cookie', 1, '/');
Funzione per leggere un cookie
/** * Recupera un cookie * * @param nome * il nome del cookie del quale si vuole ottenere il valore * @return string il valore del cookie o una stringa vuota */ function getCookie(nome) { var name = nome + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1); if (c.indexOf(name) == 0) return c.substring(name.length, c.length); } return ""; }
Esempio:
var valoreLetto = getCookie('ilMioCookie'); alert('Il valore del cookie è: '+valoreLetto);
Commentati Recentemente