打造自己的js库(cookie篇)
这一篇是用来封装存、取cookie的方法。
namespace('gu.cookie');
extend(gu.cookie,{
/**
* 设置cookie,最好先用navigator.cookieEnable判断一下cookie是否可用
* @param key
* @param value
* @param expires
* @param domain
* @param path
* @returns {boolean}
*/
set:function (key,value,expires,domain,path) {
var cValue,cExpires,cDomain,cPath,cookieArr = [];
if(!key){
return false;
}
cValue = value ? encodeURIComponent(value) : '';
cookieArr.push(key + "=" + cValue);
if(!isNaN(expires)){
var time = new Date();
time.setTime(time.getTime()+(expires*24*60*60*1000));
cExpires = time.toGMTString();
cookieArr.push('expires=' + cExpires);
}
if(domain != undefined){
cDomain = domain;
cookieArr.push('domain=' + cDomain);
}
if(path != undefined){
cPath = path;
cookieArr.push('path=' + cPath);
}
document.cookie = cookieArr.join('; ');
},
/**
* 获取cookie
* @param key
* @returns {string}
*/
get:function (key) {
var cookieArr = document.cookie.split('; ');
for(var i=0;i<cookieArr.length;i++){
if(cookieArr[i].indexOf(key) == 0){
return decodeURIComponent(cookieArr[i].substring(cookieArr[i].split('=')[0].length + 1,cookieArr[i].length));
}
}
},
/**
* 清除cookie
* @param key
* @param domain
*/
clear:function (key,domain) {
var cDate = new Date();
gu.cookie.set(key,"",-2,domain);
}
});