javascript操作cookie类之jscookie.js

裘光启
2023-12-01
  1. 详情请阅读:https://git.oschina.net/wuquanyao/JsCookie

  2. /*+==============================================

  3.   + 我不只是一个程序员,我更希望用此创造价值

  4.   + author:wuquanyao

  5.   + email:wqynqa@163.com

  6.   * version:1.0.2

  7.   +==============================================*/

  8. var cookies = (function(){

  9.     var Cookies;

  10.     Cookies = {

  11.         set:function(key,value,day,path){

  12.             day  = day  || 0.5;

  13.             path = path || "/";

  14.             document.cookie = key+"="+escape(value)+";expires="+expire(day)+";path="+path;

  15.         },

  16.         get:function(key){

  17.             return getCookies(key);

  18.         },

  19.         remove:function(key){

  20.             document.cookie = key+"="+getCookies(key)+";expires="+expire(-1);

  21.         },

  22.         clear:function(){

  23.             clearCookies();

  24.         },

  25.         has:function(key){

  26.             var _cookies = allCookies(), r = false;

  27.             for(var i in _cookies){

  28.                 if(trim(_cookies[i][0]) === key){

  29.                     r = true;

  30.                     break;

  31.                 }

  32.             }

  33.             return r;

  34.         },

  35.         stringify:function(data){

  36.             return JSON.stringify(data);

  37.         },

  38.         parse:function(data){

  39.             return JSON.parse(data);

  40.         },

  41.         trim:function(string){

  42.             return trim(string);

  43.         },

  44.         dump:function(data){

  45.            console.log(data);

  46.         }

  47.     }

  48.     function expire(day){

  49.         var exp = new Date();

  50.             exp.setTime(exp.getTime()+day*24*3600*1000);

  51.             return exp.toUTCString();

  52.     }

  53.     function allCookies(){

  54.         var _cookies;

  55.         _cookies = document.cookie;

  56.         _cookies = _cookies.split(';');

  57.         for(var i in _cookies){

  58.             _cookies[i] = _cookies[i].split('=');

  59.         }

  60.        return _cookies;

  61.     }

  62.     function getCookies(key){

  63.         var _cookies = allCookies(), o={};

  64.         for(var i in _cookies){

  65.             o[trim(_cookies[i][0])] = _cookies[i][1];

  66.         }

  67.         return unescape(o[key]);

  68.     }

  69.     function clearCookies(){

  70.         var _cookies = allCookies();

  71.         for(var i in _cookies){

  72.             document.cookie = _cookies[i][0]+"="+unescape(_cookies[i][1])+";expires="+expire(-1);

  73.         }

  74.     }

  75.     function trim(string){

  76.         return string.replace(/(^\s*)|(\s*$)/,'');

  77.     }

  78.    return  Cookies;

  79. })();


转载于:https://my.oschina.net/wuquanyao/blog/522516

 类似资料: