如何删除会话 Cookie?

IT技术 javascript jquery cookies
2021-02-24 06:12:07

如何通过javascript动态删除会话cookie,而无需手动重新启动浏览器?

我在某处读到会话 cookie 保留在浏览器内存中,并且会在浏览器关闭时被删除。

// sessionFooCookie is session cookie
// this code does not delete the cookie while the browser is still on
jQuery.cookie('sessionFooCookie', null);

谢谢。

更多信息:上面的代码片段是一个 javascript 代码片段,使用 jQuery 及其 jQuery.cookie 插件。

6个回答

会话 cookie 只是一个没有到期日期的普通 cookie。这些由浏览器处理,直到窗口关闭或程序退出才有效。

但是如果 cookie 是httpOnlycookie(带有httpOnly参数的 cookie ),则不能从 HTTP 外部读取、更改或删除它(意味着它必须在服务器上更改)。

仅供参考:@Gumbo 最后一句话中的 HTTP,他实际上是指server side
2021-04-20 06:12:07
我必须说,我用头撞在监视器上大约一个小时,问题是“为什么我无法从 javascript 中删除会话 cookie?” ,直到我还没有找到简短的答案:它是httpOnly...谢谢,非常有用。
2021-04-21 06:12:07

确保提供与设置时完全相同的路径,即

环境:

$.cookie('foo','bar', {path: '/'});

删除:

$.cookie('foo', null, {path: '/'});

注意

$.cookie('foo', null); 

将不起作用,因为它实际上不是同一个 cookie。

希望有帮助。哈希中的其他选项也是如此

感谢您澄清这一点。希望我能投票几次。
2021-04-27 06:12:07

IE 和 Opera 存在一些已知问题,即在将过期日期设置为过去时不会删除会话 cookie(这是 jQuery cookie 插件所做的)

这在 Safari 和 Mozilla/FireFox 中运行良好。

这需要在发布 cookie 的服务器端完成。

为什么你这么想?
2021-04-20 06:12:07
你是怎样做的?如果可以的话,特别是在 Node 中!谢谢你。
2021-05-17 06:12:07

您可以通过将到期日期设置为昨天来做到这一点。

我的一组关于 JavaScript 中 cookie 的新帖子可以帮助你。

http://www.markusnordhaus.de/2012/01/20/using-cookies-in-javascript-part-1/

我担心那个网址不见了
2021-05-05 06:12:07