web-dev-qa-db-fra.com

Supprimer TOUS les cookies avec jQuery et définir nouveau

Ce que j'essaie de faire, c'est lorsque l'utilisateur visite la page test.html, pour supprimer les cookies des pages qu'il a précédemment visitées, comme test1.html, test2.html, etc., et définir un nouveau cookie.

Existe-t-il un moyen plus simple de supprimer simultanément tous les cookies précédemment définis (j’ai des centaines de pages à déclarer un par un) avec jQuery?

Je ne connais pas d'autre moyen, sauf de supprimer un par un, puis d'en définir un nouveau: 

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

Merci

13
yas

Après le jquery-cookie spec: 

1) Vous appelez $ .cookie () qui devrait renvoyer tous les cookies de la page actuelle.
2) Il suffit de parcourir et supprimer comme ci-dessous:

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

Remarque: lors de la suppression d'un cookie, vous devez indiquer exactement le même chemin, le même domaine et les mêmes options sécurisées que celles utilisées pour définir le cookie, à moins que vous ne vous appuyiez sur les options par défaut.

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

Tiré des questions Comment supprimer tous les cookies avec jQuery

7
Neeraj

Veuillez noter que la spécification de cookie JQuery n'est plus maintenue, remplacée par JS Cookie

0
user1763876