Удалить все файлы cookie с jquery и установить новые
То, что я пытаюсь сделать, - это когда пользователь посещает страницу 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
Спасибо
Ответы
Ответ 1
Следуя jquery-cookie spec:
1) Вы вызываете $.cookie(), который должен возвращать все файлы cookie на текущей странице.
2) Просто перейдите и удалите, как показано ниже:
var cookies = $.cookie();
for(var cookie in cookies) {
$.removeCookie(cookie);
}
Примечание: при удалении файла cookie вы должны передать тот же путь, домен и защищенные параметры, которые были использованы для установки cookie, если вы не полагаетесь на параметры по умолчанию.
Ответ 2
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";
}
Взято из вопросов Как удалить все файлы cookie с помощью jquery