常见写法 document.cookie = "key=value"
删除机制其实就是设置过期时间。
方法如下
let keys = document.cookie.match(/[^ =;]+(?==)/g)
if (keys) {
for (let i = keys.length; i--; ) {
document.cookie = keys[i] + '=0;expires = Thu, 01 Jan 1970 00:00:00 UTC'
}
}
使用cookie 做同域下数据互通,即 a.demo.com 和 b.demo.com 做数据互通
使用domain
方法如下
document.cookie = "userInfo=value; domain=demo.com;"
但是会遇到无法删除的问题。
解决方案
let keys = document.cookie.match(/[^ =;]+(?==)/g)
if (keys) {
for (let i = keys.length; i--; ) {
document.cookie =
keys[i] + '=0;expires = Thu, 01 Jan 1970 00:00:00 UTC;domain=demo.com'
}
}
原因是要在相同domain下设置过期时间才能成功。在不设置domain的情况下,会默认使用当前的域名
后续问题,随时完善。可在评论区给出更多问题和解决方案,我会整理收录供大家查阅