15

Javascript 持久性 cookie 可接受的最大到期时间值是多少?

4

3 回答 3

7

阅读Cookie 的过期和最长使用期限

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(); 

没有办法可以设置终身饼干......即没有过期的cookie

于 2012-04-26T06:43:44.583 回答
3

Forever cookie:如果您每次阅读 cookie 时都重新编写它,将过期日期设置为未来某个荒谬的日期,例如:10 年后,则可能。

对于这不是永远的,你假设网页不会被阅读超过 10 年,在这种情况下有什么意义。你认为我们在 10 年后仍会使用 cookie :-)

另外,cookie 的寿命仅与存储在其上的硬件一样长。你会在 10 年内使用相同的硬件吗?

注意:读取 cookie 然后立即写入我发现在某些计算机上存在问题的相同 cookie(原因未知)。修复将写入 cookie 嵌入超时:

var x=getCookie('mycookie');
setTimeout('saveCookie("mycookie", x)',1000)

getCookie 和 saveCookie 是您必须在此示例中创建的函数,并且 saveCookie 函数将 cookie 寿命设置为 10 年

以技术发展的速度,那是“永远” :-)

于 2014-11-09T16:05:25.220 回答
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);

于 2019-07-11T01:35:57.150 回答