cookie不设置失效时间,关闭浏览器tab,cookie不会消失?

我的需求是关闭当前网站(chrome的某个Tab)cookie要清除。

然后我不设置cookie的失效时间,cookie有效时间不就是会话时间吗?但是我关闭网站(chrome的某个Tab),再打开发现cookie还在,并没有消失。

要怎么做才能实现需求。

阅读 16.1k
3 个回答

Cookie 的生命周期可以通过两种方式定义:

会话期 Cookie 是最简单的 Cookie:浏览器关闭之后它会被自动删除,也就是说它仅在会话期内有效。会话期Cookie不需要指定过期时间(Expires)或者有效期(Max-Age)。需要注意的是,有些浏览器提供了会话恢复功能,这种情况下即使关闭了浏览器,会话期Cookie 也会被保留下来,就好像浏览器从来没有关闭一样,这会导致 Cookie 的生命周期无限期延长。

如果要 tab 关闭即消失的,可以尝试使用 sessionStorage

可以监听页面的onunload事件,手动清除一下cookie,如果让cookie立刻消息需要关闭整个浏览器才行,而不是关闭当前的tab

新手上路,请多包涵

按f12将所有的cookie对应的Session列都打上勾,那么此时cookie的生命周期就是会话的,关闭会话(关掉tab)时cookie会消失,此时设置的失效时间或者最大生存时间才会生效;image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题