javascript原生cookie之jscookie.js

jerry thinkphp 2015年11月19日 收藏
javascript实现cookie操作,独立的javascript插件;
使用方法请阅读:https://git.oschina.net/wuquanyao/JsCookie
  1. /*+==============================================
  2.   + 我不只是一个程序员,我更希望用此创造价值
  3.   + author:wuquanyao
  4.   + email:wqynqa@163.com
  5.   * version:1.0.2
  6.   +==============================================*/
  7. var cookies = (function(){
  8.     var Cookies;
  9.     Cookies = {
  10.         set:function(key,value,day,path){
  11.             day  = day  || 0.5;
  12.             path = path || "/";
  13.             document.cookie = key+"="+escape(value)+";expires="+expire(day)+";path="+path;
  14.         },
  15.         get:function(key){
  16.             return getCookies(key);
  17.         },
  18.         remove:function(key){
  19.             document.cookie = key+"="+getCookies(key)+";expires="+expire(-1);
  20.         },
  21.         clear:function(){
  22.             clearCookies();
  23.         },
  24.         has:function(key){
  25.             var _cookies = allCookies(), r = false;
  26.             for(var i in _cookies){
  27.                 if(trim(_cookies[i][0]) === key){
  28.                     r = true;
  29.                     break;
  30.                 }
  31.             }
  32.             return r;
  33.         },
  34.         stringify:function(data){
  35.             return JSON.stringify(data);
  36.         },
  37.         parse:function(data){
  38.             return JSON.parse(data);
  39.         },
  40.         trim:function(string){
  41.             return trim(string);
  42.         },
  43.         dump:function(data){
  44.            console.log(data);
  45.         }
  46.     }
  47.     function expire(day){
  48.         var exp = new Date();
  49.             exp.setTime(exp.getTime()+day*24*3600*1000);
  50.             return exp.toUTCString();
  51.     }
  52.     function allCookies(){
  53.         var _cookies;
  54.         _cookies = document.cookie;
  55.         _cookies = _cookies.split(';');
  56.         for(var i in _cookies){
  57.             _cookies[i] = _cookies[i].split('=');
  58.         }
  59.        return _cookies;
  60.     }
  61.     function getCookies(key){
  62.         var _cookies = allCookies(), o={};
  63.         for(var i in _cookies){
  64.             o[trim(_cookies[i][0])] = _cookies[i][1];
  65.         }
  66.         return unescape(o[key]);
  67.     }
  68.     function clearCookies(){
  69.         var _cookies = allCookies();
  70.         for(var i in _cookies){
  71.             document.cookie = _cookies[i][0]+"="+unescape(_cookies[i][1])+";expires="+expire(-1);
  72.         }
  73.     }
  74.     function trim(string){
  75.         return string.replace(/(^\s*)|(\s*$)/,'');
  76.     }
  77.    return  Cookies;
  78. })();

附件QQ截图20151027102037.png ( 123.58 KB 下载:9 次 )