phoenix的插件系列之cookie

下面的插件主要是做cookie相关的操作,支持参数配置,功能上包含一般的获取,设置,移除cookie。后期考虑是否更多地支持一下默认配置上的优化---比如cookie保存的一个星期|一个月|半年|一年----这样的类似客户端软件一些常见的下拉框设置。

 

注意:Date相关的api可以参考http://zhangyaochun.iteye.com/blog/1433232

 

 

 

 

/*
phoenix lib的一个插件cookie
@author zhangyaochun
@blog http://zhangyaochun.iteye.com/
@baidu Hi zhangyaochunl
@edition 1.0.1 beta
@info how to use
   1. setCookie -- phoenix.cookie('user-name', 'zhangyaochun', {expires:30}); 
   2. getCookie -- phoenix.cookie('user-name')	
   3. removeCookie --phoenix.cookie('user-name', '', { expires: -1 }) or phoenix.cookie('user-name',null);
   
@replay on jQuery.trim ----if you don not use jQuery as you base-lib,just fix a self-function for trim
*/
var phoenix =phoenix || {version:'1.0.1'}; 

phoenix.cookie = function(name,value,options){
   if(typeof value != 'undefined'){
       //set cookie
	   options = options || {};
	   //如果value为null
	   if(value === null){
	      value = '';
		  options.expires = -1;
	   }
	   var expires = '';
	   //判断options是否定义expires而且值为数值或者是Date对象
	   if(options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)){
	      var date;
		  if(typeof options.expires == 'number'){
		     date = new	Date();
			 //这边的expires是按天算的---转换为毫秒
			 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{
      //get cookie
      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;
   }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值