cookie的失效时间已经是session,关闭浏览器(Mac下chrome)咋没有清空?

发布于 2022-09-06 10:59:59 字数 99 浏览 15 评论 0

cookie的失效时间已经是session,关闭浏览器之后再打开,为什么当前域下的cookie的值还在?(windows系统可以,但是mac系统下不行,除非强制退出chrome浏览器)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

又怨 2022-09-13 10:59:59

Mac下是可以自动清除session级别的cookie的,只要你设置的正确就会清除。
你的情况我猜测是你的测试方法不对,mac的应用管理机制不太一样,win下点【X】就关闭了,而Mac下点【X】实际上相当于关闭所有当前窗口,然后窗体最小化,你需要强制关闭才能生效

Command + Q

试一试吧,应该是可以的

川水往事 2022-09-13 10:59:59

mac下需要右键chrome图标点击退出才真正退出清理内存。
chrome和firefox在某些情况也会出现退出后不清除session状态的cookie情况,chrome设置从上次标签页打开或者设置了允许chrome退出后app继续运行会造成session状态cookie未清除,具体可以参数这个博客信息:http://blog.petersondave.com/...

半山落雨半山空 2022-09-13 10:59:59

expires选项用来设置“cookie 什么时间内有效”。expires其实是cookie失效日期,expires必须是 GMT 格式的时间(可以通过 new Date().toGMTString()或者 new Date().toUTCString() 来获得)。

如expires=Thu, 25 Feb 2016 04:18:00 GMT表示cookie讲在2016年2月25日4:18分之后失效,对于失效的cookie浏览器会清空。如果没有设置该选项,则默认有效期为session,即会话cookie。这种cookie在浏览器关闭后就没有了。

expires 是 http/1.0协议中的选项,在新的http/1.1协议中expires已经由 max-age 选项代替,两者的作用都是限制cookie 的有效时间。expires的值是一个时间点(cookie失效时刻= expires),而max-age 的值是一个以秒为单位时间段(cookie失效时刻= 创建时刻+ max-age)。
另外,max-age 的默认值是 -1(即有效期为 session );若max-age有三种可能值:负数、0、正数。负数:有效期session;0:删除cookie;正数:有效期为创建时刻+ max-age;
业务需求是关闭浏览器干掉cookie,之前的思路是想着不设置expire/max-age关闭浏览器即cookie失效,但绕了一大圈,发现还是不行,最后找了一个模棱两可的办法, 即监听关闭浏览器触发一个方法,设置cookie失效,但监听浏览器的方法找找看

恰似旧人归 2022-09-13 10:59:59

试了无数次,发现 微信浏览器,微信网页开发者工具也是这样的,真的好气啊。一直以为自己设置有问题,关闭浏览器,那个session状态的cookie始终存在,奇葩。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文