我试图在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上没有。
当前回答
解决方案是使用sessionStorage,供参考:https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
其他回答
我不得不在Chrome的高级设置下,不加勾选地这样做:
当谷歌浏览器关闭时继续运行后台应用程序 "继续刚才的地方" "启动时"
一个简单的替代方法是使用新的sessionStorage对象。根据注释,如果你选择了“continue where I left off”,sessionStorage将在两次重启之间持续存在。
这可能是因为Chrome在你关闭浏览器后仍在后台运行。尝试通过以下方法禁用此功能:
开放chrome: / / /设置 点击“显示高级设置…” 向下导航到系统部分,禁用“当谷歌Chrome浏览器关闭时继续运行后台应用程序”。 这将迫使Chrome完全关闭,然后它将删除会话cookie。
然而,我认为Chrome应该检查和删除以前的会话cookie在它开始而不是关闭。
你有没有试着在谷歌Chrome浏览器中删除hangouts扩展?因为即使你关闭所有的窗口,它也会迫使chrome继续运行。
我也面临着这个问题,但现在问题解决了。
我对“文件”也有同样的问题。在Windows 8.1中,Chrome删除cookie的唯一方法是从任务管理器中关闭它(不是一个真正花哨的方式),所以我决定从后端管理cookie或使用“js-cookie”之类的东西。