it-swarm.com.de

Löschen Sie ALLE Cookies mit jquery und setzen Sie neue

Was ich versuche, ist, wenn der Benutzer die Seite test.html besucht, Cookies von zuvor besuchten Seiten, wie test1.html, test2.html usw., löscht und ein neues Cookie setzt.

Gibt es eine einfachere Möglichkeit, alle zuvor gesetzten Cookies auf einmal zu löschen (ich habe hunderte von Seiten, die jedes Mal einzeln deklariert werden) mit jquery?

Ich kenne keinen anderen Weg, außer einen nach dem anderen zu löschen und dann neu festzulegen: 

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

Vielen Dank

13
yas

Nach dem jquery-cookie spec: 

1) Sie rufen $ .cookie () an, das alle Cookies auf der aktuellen Seite zurückgeben soll.
2) Einfach durchlaufen und wie folgt entfernen:

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

Hinweis: Wenn Sie ein Cookie löschen, müssen Sie exakt dieselben Pfad-, Domänen- und Sicherheitsoptionen angeben, mit denen das Cookie gesetzt wurde, es sei denn, Sie setzen auf die Standardoptionen.

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

Aus den Fragen genommen So löschen Sie alle Cookies mit Jquery

7
Neeraj

Bitte beachten Sie, dass der Jquery-Cookie nicht mehr gepflegt wird, sondern durch JS Cookie ersetzt wird.

0
user1763876