如何将此 cookie 设置为从当前时间起一小时后过期:
document.cookie = 'username=' + value; + 'expires=' + WHAT GOES HERE?; + 'path = /';
如何将此 cookie 设置为从当前时间起一小时后过期:
document.cookie = 'username=' + value; + 'expires=' + WHAT GOES HERE?; + 'path = /';
代码 :
var now = new Date();
var time = now.getTime();
time += 3600 * 1000;
now.setTime(time);
document.cookie =
'username=' + value +
'; expires=' + now.toUTCString() +
'; path=/';
您可以以更紧凑的方式编写此代码:
var now = new Date();
now.setTime(now.getTime() + 1 * 3600 * 1000);
document.cookie = "name=value; expires=" + now.toUTCString() + "; path=/";
对于像我这样浪费一个小时试图弄清楚为什么没有在 Chrome 中设置过期 cookie(但可以设置没有过期)的人来说,这里是答案:
出于某种奇怪的原因,Chrome 团队决定忽略来自本地页面的 cookie。因此,如果您在本地主机上执行此操作,您将无法在 Chrome 中看到您的 cookie。因此,要么将其上传到服务器上,要么使用其他浏览器。
您可以使用max-age而不是使用 expires 。Max-Age 接管过期时间并接受以秒为单位的过期持续时间。
对于您的示例,考虑一个小时是 3600 秒,代码将是:
document.cookie = 'username=' + value + '; max-age=3600; path=/';