Hoe kan ik een cookie instellen die over 1 uur verloopt in Javascript?

Hoe u deze cookie kunt instellen om over een uur vanaf de huidige tijd te verlopen:

document.cookie = 'username=' + value; + 'expires=' + WHAT GOES HERE?; + 'path = /';

Antwoord 1, autoriteit 100%

Code:

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

Antwoord 2, autoriteit 25%

Je kunt dit op een compactere manier schrijven:

var now = new Date();
now.setTime(now.getTime() + 1 * 3600 * 1000);
document.cookie = "name=value; expires=" + now.toUTCString() + "; path=/";

En voor iemand zoals ik, die een uur verspilde aan het uitzoeken waarom de cookie met vervaldatum niet is ingesteld (maar zonder vervaldatum kan worden ingesteld) in Chrome, is hier het antwoord:

Om de een of andere vreemde reden heeft het Chrome-team besloten om cookies van lokale pagina’s te negeren. Dus als je dit op localhost doet, kun je je cookie niet zien in Chrome. Dus upload het naar de server of gebruik een andere browser.


Antwoord 3, autoriteit 3%

In plaats van verlopen te gebruiken, kunt u max-leeftijd. Max-Age neemt aanwezigheid over vervalt en accepteert een vervalduur in seconden.

Voor jouw voorbeeld, aangezien een uur 3600 seconden is, zou de code zijn:

document.cookie = 'username=' + value + '; max-age=3600; path=/';

Other episodes