|
/** |
|
* @author Longbo Ma |
|
*/ |
|
/** |
|
* |
|
* @return {[type]} |
|
*/ |
|
(function () { |
|
var cookie = {}; |
|
|
|
/** |
|
* Set multi cookie |
|
* @param {[string or array]} cookies |
|
* @public |
|
*/ |
|
cookie.addCookies = function (cookies) { |
|
if ('string' === typeof cookies) |
|
document.cookie = cookies; |
|
|
|
if (cookies instanceof Array) |
|
document.cookie = cookie.generateCookieStr(cookies); |
|
}; |
|
|
|
/** |
|
* Add a cookie and set expire time. |
|
* @param {[string]} c_name cookie name |
|
* @param {[string]} c_value cookie value |
|
* @param {number} expiretime |
|
* @param {string} path |
|
* @param {string} domain |
|
* @param {boolean} secure |
|
*/ |
|
cookie.addCookie = function (c_name, c_value, expiretime, path, domain, secure) { |
|
var currCookie = []; |
|
currCookie.push(c_name + '=' + encodeURI(c_value)); |
|
|
|
if (expiretime) { |
|
var exdate = new Date(); |
|
exdate.setDate(exdate.getDate()+ expiretime); |
|
currCookie.push(';expires=' + exdate.toGMTString()); |
|
} |
|
|
|
if (path) |
|
currCookie.push(';path=' + path); |
|
|
|
if (domain) |
|
currCookie.push(';domain=' + domain); |
|
|
|
if (secure) |
|
currCookie.push(';secure'); |
|
|
|
currCookie = currCookie.join(''); |
|
document.cookie = currCookie; |
|
}; |
|
|
|
/** |
|
* Get cookie |
|
* @param {[string]} c_name cookie name |
|
* @return {[string]} |
|
*/ |
|
cookie.getCookie = function (c_name) { |
|
var strCookie=document.cookie; |
|
var arrCookie=strCookie.split("; "); |
|
for(var i=0;i<arrCookie.length;i++){ |
|
var arr=arrCookie[i].split("="); |
|
if(arr[0]==c_name)return decodeURI(arr[1]); |
|
} |
|
return ""; |
|
}; |
|
|
|
/** |
|
* 将多个cookie对象生成一个cookie字符串 |
|
* @param {[Array]} arr |
|
* @return {[string]} |
|
*/ |
|
cookie.generateCookieStr = function (arr) { |
|
var currCookie = []; |
|
|
|
for (var i = 0, total = arr.length; i < total; i++) { |
|
var item = arr[i]; |
|
for (var key in item) { |
|
currCookie.push(key + '=' + encodeURI(item[key])); |
|
|
|
if (i < total - 1) { |
|
currCookie.push(';'); |
|
} |
|
} |
|
|
|
currCookie.push(' '); |
|
} |
|
currCookie = currCookie.join(''); |
|
return currCookie; |
|
}; |
|
|
|
/** |
|
*删除Cookie |
|
* @param c_name |
|
*/ |
|
cookie.deleteCookie = function (c_name) { |
|
var date = new Date(); |
|
date.setTime(date.getTime() - 10000); |
|
document.cookie = name + "=v; expires=" + date.toGMTString(); |
|
}; |
|
|
|
this.cookie= cookie; |
|
}).call(this); |