web-dev-qa-db-ja.com

jqueryですべてのCookieを削除し、新しい設定

私がやろうとしていることは、ユーザーがページtest.htmlにアクセスしたときに、以前にアクセスしたページからtest1.html、test2.htmlなどのCookieを削除し、新しいCookieを設定することです。

Jqueryを使用して、以前に設定されたすべてのCookieを一度に削除する簡単な方法はありますか(毎回1つずつ宣言する数百のページがあります)?

1つずつ削除してから新しいものを設定する以外に、他の方法はわかりません。

$.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 

ありがとう

13
yas

jquery-cookie 仕様に従ってください:

1)現在のページのすべてのCookieを返す$ .cookie()を呼び出します。
2)以下のように反復して削除します。

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

注:Cookieを削除するときは、デフォルトのオプションに依存している場合を除き、Cookieの設定に使用されたものとまったく同じパス、ドメイン、およびセキュアオプションを渡す必要があります

20
megawac
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";
}

質問から引用 jqueryですべてのCookieを削除する方法

7
Neeraj

Jquery-cookie仕様はもはや維持されておらず、 JS Cookie に置き換えられていることに注意してください。

0
user1763876