JS,Cookie本地存储,设置获取cookie函数的封装!

2021-02-13 08:16

阅读:602

标签:enc   document   set   str   范围   each   小型   etc   name   

Cookie是一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成。
一、cookie的创建
    setCookie(key,val,expires){
        let now = new Date()
        now.setMinutes(now.getMinutes() +expires)
        document.cookie=`${key}=${encodeURI(val)};expires=${now.toUTCString()}`
    }

key:需要存储的键
value:需要存储的值
expires:cookie的失效时间
二、cookie的获取

    getCookie(key){
         let obj = {}
         document.cookie.split("; ").forEach(item=>{
             let kv = item.split("=")
             obj[kv[0]] = decodeURI(kv[1])
         })
         if(key){
             let res = null
             try{
                 res = JSON.parse(obj[key])
             }catch{
                 res = obj[key]
             }finally{
                 return res
             }
         }
         return obj
    }

三、删除cookie
只需把原cookie的失效时间改为过去时间,该cookie值就会被删除。

 removeCookie(key){
        this.setCookie(key,null,-1)
    }

JS,Cookie本地存储,设置获取cookie函数的封装!

标签:enc   document   set   str   范围   each   小型   etc   name   

原文地址:https://blog.51cto.com/14648170/2500139


评论


亲,登录后才可以留言!