js cookie无法删除,总是剩下一个
export function getCookie(name) {
var cookieArr = document.cookie.split("; "); //使用"; "分割Cookie
var cva = [],
temp;
//循环的得到Cookie名称与值
for (var i = 0; i < cookieArr.length; i++) {
temp = cookieArr[i].split("="); //用"="分割Cookie的名称与值
cva[temp[0]] = unescape(temp[1]);
}
if (name) {
//如果有name则输出这个name的Cookie值
return cva[name];
} else {
//如果没有name则输出空数组
return cva;
}
}
/**
* 保存cookie(保存时间为30天)
* @param name
* @param value
*/
export function setCookie(name, value) {
var domain = '.' + location.host;
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + "Domain" + domain + ";path=/";
}
/**
* 删除cookie
* @param name
*/
export function delCookie(name) {
var domain = '.' + location.host;
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null) {
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + "Domain" + domain + ";path=/";
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不知道你为什么删除的时候,还剩下一个,按照道理不应该;既然能删除一个,就能删除其他的。
唯一的需要关注:
最后,这种手写看上去很不错。 但是给你推荐一个 库
js-cookie
用来处理cookie 很不错; 也可以参考他的源码实现楼上说的很对,就是这个思路
还有就是看看是不是站点自动在往上加啊,我之前也遇见过,发现是站点轮训在写 cookie