Chrome不会删除会话Cookie

我试图在JavaScript中设置会话cookie,如下所示:

document.cookie = 'name=alex; path=/' 

但即使我退出浏览器并重新启动,Chrome也不会删除它。

我检查了Firefox和Opera,并且都按预期工作 – 它们在浏览器退出时删除会话cookie。

Chrome是否忽略了过期规则?

我检查了多个操作系统,发现会话cookie在Windows XP和Ubuntu的Chrome上被删除,但不在Mac OSX Lion中删除。

这可能是由于将Chrome设置为“ 继续”而导致的

在这里输入图像描述

进一步阅读

  • 错误报告:Chrome并没有删除临时的cookies – 即当我关闭所有浏览器的Windows时,不会自动注销
  • Chromium中的问题128513:当Chrome进程关闭时,会话Cookie不会被清除

我刚刚遇到与“浏览会话结束”时设置为过期的cookie相同的问题。

不幸的是,它并没有让我对浏览器的设置起了一点作用。

原来,关闭浏览器时记住打开的标签的功能是问题的根源。 (该功能被命名为“启动时” – “继续我离开的地方”,至少在当前版本的Chrome中)。

Opera和Firefox也会发生这种情况。

我刚刚有这个问题。 我注意到,即使我关闭浏览器,我有很多铬进程运行。 原来,这些论文都来自我的Chrome扩展。

在高级设置下,我取消选中'Continue running background apps when Google Chrome is closed' ,我的会话Cookie开始工作。

对于我们所有开发人员来说,编码期望会话cookie在用户完成浏览时将被清除,这对我们来说仍然是一种痛苦

这可能是因为Chrome在关闭浏览器后仍然在后台运行。 尝试通过执行以下操作来禁用此功能:

  1. 打开chrome://设置/
  2. 点击“显示高级设置…”
  3. 导航到“系统”部分,并停用“关闭Google Chrome后继续运行后台应用程序”。 这将迫使Chrome完全关闭,然后删除会话Cookie。

不过,我认为Chrome应该在开始时检查并删除之前的会话Cookie,而不是关闭。

在Chrome的高级设置下,我不得不同时使用这两个选项:

  • Google Chrome关闭后继续运行后台应用
  • “继续我离开的地方”,“启动时”

我在Windows 8.1中遇到了与“document.cookie”相同的问题,Chrome删除cookie的唯一方法是将其从任务管理器中关闭(不是一个真正奇特的方式),所以我决定从后端管理cookie或使用像“js-cookie”。

一个简单的选择是使用新的sessionStorage对象。 根据评论,如果你有'继续我离开'检查,sessionStorage将坚持在重新启动之间。

您是否尝试在Google Chrome浏览器中删除环聊扩展程序? 因为即使你关闭了所有的窗户,它仍然强迫铬继续运行。

我也面临这个问题,但现在解决了。

其实我尝试了所有上述解决方案,不幸的是,他们没有解决我的问题。

解决方案是:

您应该关闭整个浏览器窗口,而不是当前的选项卡,

谷歌浏览器有一个问题,如果你设置和取消cookie不正确的方式。 这是php代码。 以为这会给你的想法。

设置cookie

 setcookie('userLoggedIn', 1, 0, PATH); 

错误的方式,将无法正常工作(通知PATH丢失)

 setcookie('userLoggedIn', 0, time()-3600); 

正确的方式解决了谷歌浏览器的问题

 setcookie('userLoggedIn', 0, time()-3600, PATH);