Answers:
不。不能做 这样做的“方法”只是使到期日期类似于2030年。
没有您想要的语法。不设置过期将导致cookie在会话结束时过期。唯一的选择是选择一些任意大的值。请注意,某些浏览器的日期超过2038(unix纪元时间超过32位int)时会遇到问题。
您可以在Mozilla docs上作为示例:
document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";
聚苯乙烯
当然,如果人类在10000年的第一分钟仍然使用您的代码,就会出现问题:)
所有Cookie均按照Cookie 规范到期,您可以设置的最大值为
2^31 - 1 = 2147483647 = 2038-01-19 04:14:07
因此,最大Cookie寿命为
$.cookie('subscripted_24', true, { expires: 2147483647 });
document.cookie = 'subscripted_24=true; expires=' + new Date(2147483647 * 1000).toUTCString();
您可以将Cookie设置为一个月左右的到期日期,然后在用户再次访问该网站时重新分配该Cookie。
你不能。没有用于设置永久Cookie的确切代码,但是可以使用旧的技巧,例如current time + 10 years
。
请注意,任何超出January 2038
cookie 范围的日期(32位int)都将注定您将被立即删除。希望奇迹将在不久的将来得到解决。对于64位int来说,几年左右2110
是安全的。随着时间的推移,软件和硬件将发生变化,也许永远不会适应旧的(我们现在拥有的东西),所以准备的,现在的未来。
请参阅2038年的问题
如果打算仅从客户端读取数据,则可以使用本地存储。仅当清除浏览器的缓存时,才会将其删除。