一.cookie
let now = new Date()
now.setMinutes(now.getMinutes() + 1) // 按分钟计算,一分钟后
document.cookie = "nickname=Simba;expires=" + now.toUTCString()
console.log(document.cookie);
setTimeout(() => {
let now = new Date()
now.setMinutes(now.getMinutes() - 1) // -1分钟,相当于删除cookie
document.cookie = "nickname=ace;expires=" + now.toUTCString()
},4000) // 4秒后删除cookie
二.cookie封装
function setCookie(key, val, expires) {
let now = new Date()
now.setMinutes(now.getMinutes() + expires)
document.cookie = `${key}=${val};expires=`+ now.toUTCString()
}
function removeCookie(key) {
setCookie(key, null, -1)
}
setCookie('age', 120, 30)
setCookie('nickname', 320, 30)
setCookie('gender', 420, 30)
setCookie('tel', 520, 30)
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
}
console.log(getCookie());
console.log(getCookie('age'));
console.log(getCookie('tel'));
三.cookie存在 库 里面
1.json代码
setCookie(key, val, expires) {
if (typeof val === 'object')
val = JSON.stringify(val)
let now = new Date()
now.setMinutes(now.getMinutes() + expires)
document.cookie = `${key}=${val};expires=` + now.toUTCString()
},
removeCookie(key) {
this.setCookie(key, null, -1)
},
getCookie(key) {
let obj = {}
document.cookie.split('; ').forEach(r => {
let kv = r.split('=')
let res = null
let val = decodeURI(kv[1])
try {
res = JSON.parse(val)
} catch (error) {
res = val
}
obj[kv[0]] = res
})
if (key) return obj[key]
return obj
}
2.script代码
shen.setCookie('age', [20, '张三'], 30)
shen.setCookie('nickname', { age: 220 }, 30)
shen.setCookie('gender', '李四', 30)
shen.setCookie('tel', 520, 30)
shen.removeCookie('tel')
console.log(shen.getCookie());
console.log(shen.getCookie('age'));
console.log(shen.getCookie('nickname'));