jquery操作cookie

cookie操作大概有:得到cookie,添加cookie和删除某个cookie是否存。网上有类似的资源,下面贴一个可用的(将函数放到jquery的命名空间里,这样就可以通过$.cookie()调用了)。

jQuery.cookie = function(name, value, options) { 
    if (typeof value != 'undefined') { 
              options = options || {}; 
              if (value === null) { 
                        value = ''; 
                        options = $.extend({}, options); 
                        options.expires = -1; 
              } 
              var expires = ''; 
              if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { 
                        var date; 
                        if (typeof options.expires == 'number') { 
                                  date = new Date(); 
                                  date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); 
                        } else { 
                                  date = options.expires; 
                        } 
                        expires = '; expires=' + date.toUTCString(); 
              } 
              var path = options.path ? '; path=' + (options.path) : ''; 
              var domain = options.domain ? '; domain=' + (options.domain) : ''; 
              var secure = options.secure ? '; secure' : ''; 
              document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); 
    } else { 
              var cookieValue = null; 
              if (document.cookie && document.cookie != '') { 
                        var cookies = document.cookie.split(';'); 
                        for (var i = 0; i < cookies.length; i++) { 
                                  var cookie = jQuery.trim(cookies[i]); 
                                  if (cookie.substring(0, name.length + 1) == (name + '=')) { 
                                            cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 
                                            break; 
                                  } 
                        } 
              } 
              return cookieValue; 
    } 
};


对于一般常见的操作,上面的方法已经足够了。如果cookie值是一个数组,还得将上面的方法再封装。


var cookieUtil = {
	addCookie : function (key,value) {
		if ($.trim(key).length == 0 || $.trim(value).length == 0) {
			return;
		}
		
		var cookies = cookieUtil.getCookie(key);
		
		if ($.inArray(value,cookies) != -1) {
			return;
		}
		
		cookies.push(value);
		
		var expiresTime = new Date();
		expiresTime.setTime(expiresTime.getTime() + 60*60*24*30*1000);
		$.cookie(key,cookies,{expires : expiresTime,path : '/'});
	},

	getCookie : function (key) {
		
		var cookies = new Array(); 
		
		var cookieStr = $.cookie(key);
		if (cookieStr != null) {
			cookies = cookieStr.split(',');
		}
		
		return cookies;
	},
	
	deleteCookie : function (key,value) {
		if ($.trim(key).length == 0 || $.trim(value).length == 0) {
			return;
		}
		
		var cookies = cookieUtil.getCookie(key);
		
		if ($.inArray(value,cookies) == -1) {
			return;
		}
		
		$.cookie(key,null);
		$.each(cookies,function (n,val) {
			if (val != value) {
				cookieUtil.addCookie(key,val);
			}
		});
	}
};



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值