新增cookie、删除cookie、清除cookie

参数描述
name必需。规定 cookie 的名称。
value必需。规定 cookie 的值。
expire可选。规定 cookie 的有效期。(new Date())
path可选。规定 cookie 的服务器路径。
domain可选。规定 cookie 的域名。
secure可选。规定是否通过安全的 HTTPS 连接来传输 cookie。

1、新增cookie

function addCookie(name,value,expire,path,domain){
    document.cookie= name + '=' + value + 
        ((path)?';path='+path:'') + 
        ((expire)?';expires='+expire:'') +  
        ((path)?';path='+path:'') +  
        ((domain)?';domain='+domain:'') 
}

2、删除cookie

function deleteCookie(name,path,domain){
    document.cookie= name + '=' + 
        ((path)?';path='+path:'') + 
        ((domain)?';domain='+domain:'') + 
        ';expires=Thu,01-Jan-1970 00:00:01 GMT';
}

3、清除cookie

function clearCookie(){
    let paths = ['/'] 
    let domain =[]
    let host = location.hostname
    domain.push(host)
    if(host.indexOf('www') > -1){
        domain.push(host.substr(3))
    }
    let keys = document.cookie.match(/[^ =;]+(?=\=)/g)
    function deleteCookie(name,path,domain){
        let keys = document.cookie.match(/[^ =;]+(?=\=)/g) || []
        if(keys.indexOf(name)<0)return
        document.cookie= name + '=' + ((path)?';path='+path:'') + ((domain)?';domain='+domain:'') + ';expires=Thu,01-Jan-1970 00:00:01 GMT';
    }
    // 确保paths、domain、keys都不相同,都要进行清除
    paths.forEach(p=>{
        domain.forEach(d=>{
            keys.forEach(k=>{
                deleteCookie(k,p,d)
            })
        })
    })
}

4、 删除不掉的情况
Domain的域不同的时候;
Http/HttpOnly被勾选、Secure被勾选:后端写入,不允许修改

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值