我试图在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浏览器中删除hangouts扩展?因为即使你关闭所有的窗口,它也会迫使chrome继续运行。
我也面临着这个问题,但现在问题解决了。
其他回答
我不得不在Chrome的高级设置下,不加勾选地这样做:
当谷歌浏览器关闭时继续运行后台应用程序 "继续刚才的地方" "启动时"
一个简单的替代方法是使用新的sessionStorage对象。根据注释,如果你选择了“continue where I left off”,sessionStorage将在两次重启之间持续存在。
这个问题是因为你正在使用继续我离开的地方,并在谷歌Chrome浏览器关闭时继续运行后台应用程序(目前我的版本是96)。
请考虑关闭这些功能(以测试功能)。
如果您为php会话cookie设置了域,浏览器似乎会保留它30秒左右。关闭选项卡或浏览器窗口似乎并不重要。
因此,如果您使用以下方式管理会话,可能会导致cookie在浏览器中挂起的时间比预期的要长。
ini_set("session.cookie_domain", 'www.domain.com');
我发现摆脱挂起cookie的唯一方法是删除设置会话cookie域的代码行。还要注意session_set_cookie_params()函数。在域名前面加上点似乎也与这个问题无关。
这可能是一个php错误,因为php在会话销毁后在头中发送会话cookie(即PHPSESSID=b855ed53d007a42a1d0d798d958e42c9)。或者可能是服务器传播问题,但我不这么认为,因为我的测试是在私人服务器上进行的。
我刚刚遇到了同样的问题,cookie被设置为在“浏览会话结束”时过期。
不幸的是,它没有,所以我玩了一点浏览器的设置。
事实证明,当浏览器关闭时还记得打开的标签页是问题的根源。(该功能被命名为“启动”-“继续我离开的地方”。至少在当前版本的Chrome上是这样)。
Opera和Firefox也是如此。