Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
333 views
in Technique[技术] by (71.8m points)

javascript - Delete ALL Cookies with jquery and set new

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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...