JS设置cookie、读取cookie、删除cookie

本文介绍了一个实用的JavaScript工具库,用于高效地管理和操作浏览器Cookies。涵盖了如何获取、设置及删除Cookies的方法,并提供了缓存机制以提高性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • window.CookieUtils = {
            cacheCookie : {
                cookieValue : undefined,
                cookieObj : undefined,
                buildObj : function(cookieValue) {
                    if(cookieValue) {
                        this.cookieValue = cookieValue;
                        
                        this.cookieObj = {};
                        var arr = cookieValue.split(";");
                        for(var i = 0; i < arr.length; i++){
                            var kvs = arr[i].split("=");
                            if(kvs.length === 2) {
                                this.cookieObj[kvs[0].trim()] = kvs[1].trim();
                            }
                        }
                    }
                }
            },
            //获取cookie中的值
            getCookie : function(name) {
                if(document.cookie != this.cacheCookie.cookieValue) {
                    this.cacheCookie.buildObj(document.cookie);
                }
                if(this.cacheCookie.cookieObj && this.cacheCookie.cookieObj[name]) {
                    var value = this.cacheCookie.cookieObj[name];
                    return unescape(value);
                }
                return '';
            },

            //设置cookie
            setCookie : function(name, value, days, path){
                var expires=-1;
                if (days && typeof days == "number" && days >= 0) {
                    var d = new Date();
                    d.setTime(d.getTime() + (days * 24 * 60 * 60 * 1000));
                    expires = d.toGMTString();
                }
                
                value=escape(value);
                document.cookie = name + "=" + value + ";"
                    + (expires != -1 ? " expires=" + expires + ";" : "")
                    + (path ? "path=" + path : "");
                
                this.cacheCookie.buildObj(document.cookie);
            },

            //删除cookie
            delCookie : function(name){ 
                var exp = new Date(); 
                exp.setTime(exp.getTime() - 1); 
                var cval = this.getCookie(name); 
                if(cval!=null) {
                    document.cookie = name + "=" + cval + ";expires="
                        + exp.toGMTString();
                    
                    this.cacheCookie.buildObj(document.cookie);
                }
            }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值