2020-05-21 JS 退出 无法清除Cookie以及2个页

2020-05-21  本文已影响0人  追寻1989

Cookie不仅仅有名字和值两个属性,还有域(domain),过期时间(expires),路径(path)等属性。 其中,不同的域、不同的路径下可以存在同样名字的cookie。

重点:设置Cookie的代码中要加 路径(path), "; path=/"

设置域名下全局cookie(不区分路径,主要用于保存登录数据,以及全局变量使用)
function setCookie(key, value, iDay) {
  var oDate = new Date();
  oDate.setDate(oDate.getDate() + iDay);
  if ((typeof value) == "object") {
    value = JSON.stringify(value)
  }
  value = encodeURIComponent(value)
  document.cookie = key + '=' + value + ';expires=' + oDate + ';path=/';
}
清除域名下全局cookie(不区分路径,主要用于清除退出登录数据,以及清除全局变量使用)
function clearCookie() {
  var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
  if (keys) {
    for (var i = keys.length; i--;) {
      //为了删除指定名称的cookie,可以统一将其过期时间设定为一个过去的时间
      document.cookie = keys[i] + "=0;path=/;expires=" + new Date(0).toUTCString()
    }
  }
}
上一篇下一篇

猜你喜欢

热点阅读