jquery操作cookie

来源:互联网 发布:淘宝店标的网站 编辑:程序博客网 时间:2024/06/03 22:56

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);}});}};



原创粉丝点击