Javascript持久性cookie的最大可接受到期时间值是多少?
答案 0 :(得分:8)
阅读:Expires and Max-Age of Cookies
javascript Cookie的生命周期取决于您在创建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();
你无法设置终身coookie ...即没有过期的cookie
答案 1 :(得分:2)
永远的cookie:如果你每次阅读时都重写cookie,将过期日期设置为将来某个荒谬的日期,例如:10年,这是可能的。
为了不那么永远,你假设网页将不会被阅读超过10年,在这种情况下,重点是什么。您认为我们仍将在10年内使用Cookie: - )
加上cookie的寿命只要与其存储的硬件一样长。你会在10年内使用相同的硬件吗?
注意:读取cookie然后立即写入我发现在某些计算机上存在问题的相同cookie(原因未知)。 Fix在超时中嵌入了写入cookie:
var x=getCookie('mycookie');
setTimeout('saveCookie("mycookie", x)',1000)
getCookie和saveCookie是你必须在这个例子中创建的函数,而saveCookie函数将cookie生命设置为10年
以技术发展的速度,这是'永远': - )
答案 2 :(得分:0)
使用最大milliseconds-since-the-epoch
值,可以生成一个有效期,该有效期表示cookie保持生存的“最长可能时间”。
var key = 'foo';
var value = 'bar';
var expiryDate = new Date(8640000000000000).toUTCString();
var cookie = `${key}=${value};expires=${expiryDate}`;
console.log(cookie);