如何删除会话Cookie?

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

我在某处读到会话cookie保存在浏览器内存中,当浏览器closures时会被删除。

// 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插件。

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

但是,如果cookie是httpOnly cookie(设置了httpOnly参数的cookie),则不能从HTTP之外读取,更改或删除它。

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

设置:

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

删除:

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

注意

 $.cookie('foo', null); 

将无法工作,因为它实际上不是相同的cookie。

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

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

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

你可以通过设置到期date为昨天。

我在JavaScript中的新的关于cookie的post可以帮助你。

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

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

删除一个jQuery cookie :

 $(function() { var COOKIE_NAME = 'test_cookie'; var options = { path: '/', expires: 10 }; $.cookie(COOKIE_NAME, 'test', options); // sets the cookie console.log( $.cookie( COOKIE_NAME)); // check the value // returns test $.cookie(COOKIE_NAME, null, options); // deletes the cookie console.log( $.cookie( COOKIE_NAME)); // check the value // returns null });