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