js cookie设置最大过期时间 Infinity
Note: 对于永久cookie我们用了Fri, 31 Dec 9999 23:59:59 GMT
作为过期日。如果你不想使用这个日期,可使用世界末日Tue, 19 Jan 2038 03:14:07 GMT,
它是32位带符号整数能表示从1 January 1970 00:00:00 UTC开始的最大秒长(即01111111111111111111111111111111
, 是 new Date(0x7fffffff * 1e3)
).
Infinity 过期时间 9999-12-31 是 9999年12月31日;
对应 js 操作
https://www.cnblogs.com/surfaces/p/5548999.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | < script > //cookie function addCookie(objName,objValue,objDays){ var str = objName + "=" + escape(objValue); console.log(Infinity); //Infinity console.log(typeof Infinity); //number console.log(Infinity.constructor); //function Number() { [native code] } if(objDays > 0){ var date = new Date(); var ms = objDays*24*3600*1000; date.setTime(date.getTime() + ms); str += "; expires=" + date.toGMTString(); } if(objDays===Infinity){ str += "; expires=Fri, 31 Dec 9999 23:59:59 GMT"; } str += "; path=/"; document.cookie = str; }; var itemtitle=document.querySelector(".item-title"); document.querySelector(".sava_cookie").addEventListener("click",function(e){ var putCookieVal=itemtitle.innerHTML; addCookie('surface',putCookieVal,Infinity); }); </ script > |
我们设置3个cookie ,看下浏览器的记录;
https://www.cnblogs.com/surfaces/p/5548999.html
上面三条cookie记录 现在是2016年6月
seseion:cookieMaxAge 过期时间 浏览器会话期间
hunred-day:cookieMaxAge 过期时间2016年9月11日 固定的一个时间
surface:cookieMaxAge 过期时间9999年12月31日 最大值
addCookie('surface','cookieMaxAge',Infinity);
addCookie('hunred-day','cookieMaxAge',100);
addCookie('Session','cookieMaxAge');
第三条 如果不设置expires或者max-age这个cookie默认是Session的,也就是关闭浏览器该cookie就消失了。
备注:
Note: 对于永久cookie我们用了Fri, 31 Dec 9999 23:59:59 GMT
作为过期日。如果你不想使用这个日期,可使用世界末日Tue, 19 Jan 2038 03:14:07 GMT,
它是32位带符号整数能表示从1 January 1970 00:00:00 UTC开始的最大秒长(即01111111111111111111111111111111
, 是 new Date(0x7fffffff * 1e3)
).
参开网站
https://developer.mozilla.org/zh-CN/docs/Web/API/Document/cookie
标签:
js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话