用js控制cookie(cookie操作类)详解编程语言

function cookie(name, value, expires, path, domain, secure) { 
    // 初始化 
    this.name = name; 
    this.value = value; 
    this.expires = expires; 
    this.path = path; 
    this.domain = domain; 
    this.secure = secure; 
     
    // 读取cookie 
    this.read = function () { 
        // 快捷操作 
        var ck = document.cookie; 
         
        var arg = this.name + "="; 
        var alen = arg.length; 
        var clen = ck.length; 
        var i = 0; 
        while (i < clen) { 
            var j = i + alen; 
            if (ck.substring(i, j) == arg) { 
                var endstr = ck.indexOf(";", j); 
                if (endstr == -1) 
                    endstr = ck.length; 
                return unescape(ck.substring(j, endstr)); 
            } 
            i = ck.indexOf(" ", i) + 1; 
            if (i == 0) 
                break; 
        } 
        return null; 
    } 
     
    // 设置cookie 
    this.set = function () { 
        // 更新cookie过期时间 
        expStore = this.expires; 
         
        exp = new Date(); 
        base = new Date(0); 
        skew = base.getTime(); 
        if (skew > 0) 
            exp.setTime(exp.getTime() - skew); 
        exp.setTime(exp.getTime() + (this.expires * 24 * 60 * 60 * 1000)); 
        this.expires = exp; 
         
        document.cookie = this.name + "=" + escape(this.value) + 
            ((this.expires) ? "; expires=" + this.expires.toGMTString() : "") + 
            ((this.path) ? "; path=" + this.path : "") + 
            ((this.domain) ? "; domain=" + this.domain : "") + 
            ((this.secure) ? "; secure" : ""); 
         
        // 刷新cookie类中的cookie过期时间 
        this.expires = expStore; 
    } 
     
    // 删除cookie 
    this.kill = function () { 
        document.cookie = this.name + "=" + 
            ((this.path) ? "; path=" + this.path : "") + 
            ((this.domain) ? "; domain=" + this.domain : "") + 
            "; expires=Thu, 01-Jan-70 00:00:01 GMT"; 
    } 
     
    // 更改cookie类中的cookie属性 
    this.changeName = function (chName) { 
        this.kill(); 
        this.name = chName; 
        this.set(); 
    } 
    this.changeVal = function (chVal) { 
        this.kill(); 
        this.value = chVal; 
        this.set(); 
    } 
    this.changeExp = function (chExp) { 
        this.kill(); 
        this.expires = chExp; 
        this.set(); 
    } 
    this.changePath = function (chPath) { 
        this.kill(); 
        this.path = chPath; 
        this.set(); 
    } 
    this.changeDomain = function (chDom) { 
        this.kill(); 
        this.domain = chDom; 
        this.set(); 
    } 
    this.changeSecurity = function (chSec) { 
        this.kill(); 
        this.secure = chSec; 
        this.set(); 
    } 
} 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/10029.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论