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

问题描述 投票:13回答:3

我想要做的是当用户访问页面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 

谢谢

javascript jquery html cookies
3个回答
20
投票

遵循jquery-cookie规范:

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

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

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


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的问题


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.