使用jquery删除所有Cookie并设置为new

时间:2013-10-19 20:02:08

标签: javascript jquery html cookies

我要做的是当用户访问页面test.html时,删除他之前访问过的网页中的Cookie,例如test1.html,test2.html等,并设置新的Cookie。

是否有更简单的方法可以一次删除所有以前设置的cookie(我有100个页面每次都要逐个声明)和jquery?

我不知道除了逐个删除然后设置新的任何其他方式:

$.cookie('test1', 'test1', { expires: -1, path: '/' });//deleting cookies from test1.html
$.cookie('test2', 'test2', { expires: -1, path: '/' });//deleting cookies from test2.html

$.cookie('test', 'test', { expires: 30, path: '/' });//setting new cookies 

由于

3 个答案:

答案 0 :(得分:20)

遵循jquery-cookie规范:

1)你调用$ .cookie(),它应该返回当前页面上的所有cookie  2)只需迭代并删除如下:

var cookies = $.cookie();
for(var cookie in cookies) {
   $.removeCookie(cookie);
}

注意:删除Cookie时,您必须传递用于设置Cookie的完全相同的路径,域和安全选项,除非您依赖于默认选项。 < / p>

答案 1 :(得分:7)

var cookies = document.cookie.split(";");
for(var i=0; i < cookies.length; i++) {
    var equals = cookies[i].indexOf("=");
    var name = equals > -1 ? cookies[i].substr(0, equals) : cookies[i];
    document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}

取自问题How to delete all cookies with jquery

答案 2 :(得分:0)

请注意,我们不再维护jquery-cookie规范,取代JS Cookie