我试图在javascript中设置会话cookie,就像这样:
document.cookie = 'name=alex; path=/'
但是Chrome不会删除它,即使我退出浏览器,重新启动它。
我检查了Firefox和Opera,两者都按预期工作-它们在浏览器退出时删除会话cookie。
Chrome是否忽略了过期规则?
我检查了多个操作系统,发现会话cookie在Windows XP和Ubuntu的Chrome上被删除,但在Mac OSX Lion上没有。
我试图在javascript中设置会话cookie,就像这样:
document.cookie = 'name=alex; path=/'
但是Chrome不会删除它,即使我退出浏览器,重新启动它。
我检查了Firefox和Opera,两者都按预期工作-它们在浏览器退出时删除会话cookie。
Chrome是否忽略了过期规则?
我检查了多个操作系统,发现会话cookie在Windows XP和Ubuntu的Chrome上被删除,但在Mac OSX Lion上没有。
当前回答
转到chrome://settings/content/cookies?搜索=饼干
启用“退出Chrome时清除cookie和站点数据”。
为我工作
其他回答
这可能是因为Chrome在你关闭浏览器后仍在后台运行。尝试通过以下方法禁用此功能:
开放chrome: / / /设置 点击“显示高级设置…” 向下导航到系统部分,禁用“当谷歌Chrome浏览器关闭时继续运行后台应用程序”。 这将迫使Chrome完全关闭,然后它将删除会话cookie。
然而,我认为Chrome应该检查和删除以前的会话cookie在它开始而不是关闭。
如果您为php会话cookie设置了域,浏览器似乎会保留它30秒左右。关闭选项卡或浏览器窗口似乎并不重要。
因此,如果您使用以下方式管理会话,可能会导致cookie在浏览器中挂起的时间比预期的要长。
ini_set("session.cookie_domain", 'www.domain.com');
我发现摆脱挂起cookie的唯一方法是删除设置会话cookie域的代码行。还要注意session_set_cookie_params()函数。在域名前面加上点似乎也与这个问题无关。
这可能是一个php错误,因为php在会话销毁后在头中发送会话cookie(即PHPSESSID=b855ed53d007a42a1d0d798d958e42c9)。或者可能是服务器传播问题,但我不这么认为,因为我的测试是在私人服务器上进行的。
我刚刚有这个Chrome存储会话ID的问题,但我不喜欢禁用选项继续我离开的想法。我查看了网站的cookie,发现了一个用于登录页面的Session ID cookie。删除它并没有解决我的问题。我搜索该域,发现该域上还有另一个会话ID cookie。手动删除两个会话ID cookie解决了这个问题,我没有关闭并重新打开浏览器,这可能会恢复cookie。
我不得不在Chrome的高级设置下,不加勾选地这样做:
当谷歌浏览器关闭时继续运行后台应用程序 "继续刚才的地方" "启动时"
你有没有试着在谷歌Chrome浏览器中删除hangouts扩展?因为即使你关闭所有的窗口,它也会迫使chrome继续运行。
我也面临着这个问题,但现在问题解决了。