基础cookie
document.cookie = "nickname=123; shashasha = shashasha"
这样的cookie关闭浏览器就没了
加个过期时间
let now = new Date()
now.setMinutes(now.getMinutes() + 20)
document.cookie = "nickname=123;expires="+ now.toUTCString()
这个亚子就能20分钟之后删除
如果放个负数,就是过期时间在过去,就会直接删除
设置cookie
基于之前,就可以封装个设置cookie的方法
function setCookie(key,val,expires){
let now = new Date()
now.setMinutes(now.getMinutes() + expires)
document.cookie = `${key}=${val};expires=`+ now.toUTCString()
}
删除cookie
删除就可以调用设置cookie,然后把过期时间设为负数(妙~~~啊~)
function removeCookie(key){
setCookie(key,null,-1)
}
获取cookie
因为浏览器储存cookie都是用逗号空格分隔的所以可以把整个cookie用split变成数组,然后再用=分割出键和键值,然后存到对象里,就可以方便的获取cookie的值
function getCookie(key) {
let obj = {}
document.cookie.split("; ").forEach(r => {
let kv = r.split("=")
obj[kv[0]]= kv[1]
})
if (key) return obj[key]
return obj
}
传进指定的键就能获取指定的值,不传会获取全部