我已经在我的实验游戏中使用过一段时间了,我想知道你是否可以将cookie的生命周期设置为无限。
目前,我的代码将cookie的有效期限设置为999 999 999天,并在游戏加载时重置有效期限。
但是有一种合法的方式让JavaScript cookie永远存在吗?
答案 0 :(得分:2)
您可以使用localStorage
。
除非您运行脚本以清除它或用户决定自己执行此操作,否则它不会过期。
答案 1 :(得分:2)
不,没有。
将Cookie设置为在遥远的将来拥有过期日期是有风险的,如dates beyond January 19th, 2038 may be interpreted incorrectly by some systems。 9999之后的年份也可能导致问题,因为日期解析库通常会假设年份总是四位数。
最好不要将Cookie过期日期设置为未来10年以上。假设您的网站存在,那么大多数用户可能会在Cookie过期之前更换他们的计算机。
答案 2 :(得分:1)
不,原因有几个。首先,没有无限cookie的内置功能。其次,无论您指定的日期如何,用户都可以随时清除其Cookie,因此仍然无法保证。
编辑:评论localStorage
,这是一个选项,但你仍然不能保证它会被允许(我不允许在我的浏览器上,虽然我是一个偏执的疯子,也阻止所有非白名单脚本,所以我不是典型的用户),用户仍然可以清除它。