如何删除会话Cookie?

Nor*_*din 50 javascript cookies jquery

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

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

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

谢谢.

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

Gum*_*mbo 68

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

但如果cookie是httpOnlycookie(带httpOnly参数集的cookie ),则无法从HTTP外部读取,更改或删除它(这意味着它必须在服务器上更改).

  • 我必须说,我一个小时对着显示器殴打问题_"为什么我不能从javascript中删除会话cookie?"_,直到我找不到简短的答案:它是` httpOnly` ...谢谢,非常有用. (5认同)

Mad*_*uus 32

请务必提供与设置时完全相同的路径,即

设置:

$.cookie('foo','bar', {path: '/'});
Run Code Online (Sandbox Code Playgroud)

删除:

$.cookie('foo', null, {path: '/'});
Run Code Online (Sandbox Code Playgroud)

注意

$.cookie('foo', null); 
Run Code Online (Sandbox Code Playgroud)

不起作用,因为它实际上不是相同的cookie.

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

  • 谢谢你澄清这一点.希望我可以投票几次. (3认同)

Phi*_*ert 6

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

这在Safari和Mozilla/FireFox中工作正常.