为什么这样的操作,添加和删除的只是一条cookie,而不是全部document.cookie

function setCookie(name, value, expires, path, domain, secure){
    var cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);
    if(expires) cookie += '; expires=' + expires.toGMTString();
    if(path) cookie += '; path=' + path;
    if(domain) cookie += '; domain=' + domain;
    if(secure) cookie += '; secure=' + secure;
    document.cookie = cookie;
}
function removeCookie(name, path, domain){
    document.cookie = name + '=' +
                      '; path=' + path +
                      '; domain=' + domain +
                      '; max-age=0';
}
阅读 2.8k
1 个回答

这是系统定义的 gettersetter 特性
js语言里没有这种特性, 所以有点不好理解
总之

1. 取cookie:
var cookies = document.cookie.split(/;\s/); // document.cookie是个字符
遍历cookie取指定key的值
2. 设置cookie
document.cookie = [单个cookie数据];
3. 要删除cookie, 设置cookie过期即可
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题