What I'm trying to do is when user visits page test.html , to delete cookies from pages he previously visited, like test1.html ,test2.html etc. and set new cookie.
Is there an easier way to delete all previously set cookies at once (I have 100s of pages to declare one by one every time) with jquery?
I don't know any other way except to delete one by one and then set new:
$.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
Thanks
Following the jquery-cookie spec:
1) You call $.cookie() which should return all of the cookies on the current page.
2) Just iterate through and remove as below:
var cookies = $.cookie();
for(var cookie in cookies) {
$.removeCookie(cookie);
}
Note: when deleting a cookie, you must pass the exact same path, domain and secure options that were used to set the cookie, unless you're relying on the default options that is.
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";
}
Taken from the questions How to delete all cookies with jquery
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With