JavaScript: impostare la scadenza dei cookie in ore

I cookie sono complicati da gestire in JavaScript. Questa difficoltà è dovuta al fatto che ad oggi le regole che controllano la generazione dei cookie sono sconosciute ai più in quanto trattasi di una funzionalità che fa parte dell'implementazione BOM (Browser Object Model) e come tale dipende interamente dal browser. Nondimeno le soluzioni esistono.

Il browser gestisce i cookie nella proprietà document.cookie. Ciascun cookie è una semplice coppia costituita da un nome ed un valore. Se volessimo creare un cookie il cui tempo di scadenza è 1 ora, possiamo scrivere il seguente codice:


var now = new Date();
var time = now.getTime();
var value = 'Test';
time += 3600 * 1000; // aggiungo 1 ora
now.setTime(time);
document.cookie = 
    'username=' + value + 
    '; expires=' + now.toGMTString() + 
    '; path=/';

Un semplice test:


console.log(document.cookie); // username=Test

Torna su