Javascript持久性cookie的最大可接受过期时间值是多少?
Javascript持久性cookie的最大可接受过期时间值是多少?
Javascript cookies的生命周期取决于创建cookie时设置的时间。例如,以下设置了10分钟的生命周期。
expiry = new Date();
expiry.setTime(date.getTime()+(10*60*1000));
// Ten minutes
// Date()'s toGMTSting() method will format the date correctly for a cookie
document.cookie = "visited=yes; expires=" + expiry.toGMTString();
你无法设置永久cookie,即没有过期时间的cookie。
永久性Cookie:如果每次读取Cookie时都重新编写Cookie并将到期日期设置为未来某个不可思议的日期(例如10年后),则可以实现。
但是,如果网页在10年内不被访问,则假设该Cookie不是永久性的,那么这样做还有什么意义呢?您认为我们在10年后仍然会使用Cookie吗:-)
另外,Cookie的寿命只有存储它的硬件一样长。您会在10年后使用相同的硬件吗?
注意:我发现读取Cookie后立即编写相同Cookie在某些计算机上存在问题(原因未知)。解决方法是在延迟后嵌入编写Cookie:
var x=getCookie('mycookie');
setTimeout('saveCookie("mycookie", x)',1000)
自纪元以来的毫秒数
值,可以生成一个到期日期,表示Cookie保持活动的“最长可能时间”。
var key = 'foo';
var value = 'bar';
var expiryDate = new Date(8640000000000000).toUTCString();
var cookie = `${key}=${value};expires=${expiryDate}`;
console.log(cookie);