通常我们会在HTML页面中,使用Cookie存储一些临时数据,所以封装了两个方法用于Cookie的便捷操作,代码如下:
/**
* cookie操作
* @param {String} name
* @param {String} value
* @param {JSON} options
*/
function cookie(name, value, options) {
// 写
if(arguments.length > 1) {
options = options || {};
if(typeof options.expires === 'number') {
var days = options.expires,
t = options.expires = new Date();
t.setMilliseconds(t.getMilliseconds() + days * 864e+5);
}
return(document.cookie = [
name, '=', value,
options.expires ? '; expires=' + options.expires.toUTCString() : '',
//使用expires属性, max-age不支持IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// 读取
var arr = document.cookie.replace(/\s/g, "").split(';');
for(var i = 0; i < arr.length; i++) {
var tempArr = arr[i].split('=');
if(tempArr[0] == name) {
return tempArr[1];
}
}
return undefined;
}
function removeCookie(name) {
cookie(name, '', {
expires: -1
});
return !cookie(name);
}