高级前端dom【Q161】如何删除一个 cookie

如何删除一个 cookie

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 162

Author 回答者: shfshanyue

通过把该 cookie 的过期时间改为过去时即可删除成功,具体操作的话可以通过操作两个字段来完成

  1. max-age: 将要过期的最大秒数,设置为 -1 即可删除
  2. expires: 将要过期的绝对时间,存储到 cookies 中需要通过 date.toUTCString() 处理,设置为过期时间即可删除

很明显,max-age 更为简单,以下代码可在命令行控制台中进行测试

// max-age 设置为 -1 即可成功
document.cookie = "a=3; max-age=-1";
> document.cookie
< ""
 
> document.cookie = 'a=3'
< "a=3"
 
> document.cookie
< "a=3"
 
// 把该字段的 max-age 设置为 -1
> document.cookie = 'a=3; max-age=-1'
< "a=3; max-age=-1"
 
// 删除成功
> document.cookie
< ""

同时,也可以使用最新关于 cookie 操作的 API: CookieStore API 其中的 cookieStore.delete(name) 删除某个 cookie

Author 回答者: Carrie999

前端一般不操作,server来操作