我要做的是当用户访问页面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
由于
答案 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";
}
答案 2 :(得分:0)
请注意,我们不再维护jquery-cookie规范,取代JS Cookie