phoenixのプラグインシリーズのcookie


以下のプラグインは主にクッキーに関する操作を行い、パラメータ構成をサポートし、機能的には一般的な取得、設定、クッキーを除去します.後期には、より多くの標準的な構成の最適化をサポートしていますか?たとえば、クッキーが保存されている一週間の間に、1年半の間に一年の間に、クライアントソフトのようないくつかの一般的なプルダウン枠の設定があります.
 
注意:Date関連アプリは参考にできます.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;
   }
};