JS — cookie
// name: cookie唯一的名称 cookie必须经过URL编码 不区分大小写 实践中最好当作cookie区分大小写// value: 字符串值 必须经过URL编码// expires: 失效时间 cookie何时被删除的时间戳 默认情况下会话结束立即将所有cookie删除// path: 域 所有向该域的请求中都会包含cookie 可以包含子域名 也可以不包含// domain: 路径 对于指定域中的那个路径 应该向服务器发送cookie// secure: 安全标志 指定后,cookie只有在使用SSL连接时才会发送到服务器 是cookie中唯一一个非名值对的,直接包含secure
var cookieUtil = {
get: function(name) {
var cookieName = encodeURIComponent(name) + “=”,
cookieStart = document.cookie.indexOf(cookieName),
cookieValue = null;
if(cookieStart > -1) {
var cookieEnd = document.cookie.indexOf(‘;’, cookieStart);
if(cookieEnd === -1) {
cookieEnd = document.cookie.length;
}
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length, cookieEnd));
}
return cookieValue;
},
set: function(name, value, expires, path, domain, secure) {
var cookieText = encodeURIComponent(name)+’=’+encodeURIComponent(value);
if(expires instanceof Date) {
cookieText += ‘; expires=’ + expires.toGMTString();
} else if(typeof expires === ‘number’) {
cookieText += ‘; expires=’ + (new Date(expires*24*60*60*1000+Date.now())).toGMTString();
}
// (new Date(毫秒数)).toGMTString()
// 7天后 (new Date(7*24*60*60*1000+Date.now())).toGMTString()
if(path) {
cookieText += ‘; path=’ + path;
}
if(domain) {
cookieText += ‘; domain=’ + domain;
}
if(secure) {
cookieText += ‘; secure’;
}
document.cookie = cookieText;
},
unset: function(name, path, domain, secure) {
this.set(name, ”, new Date(0), path, domain, secure);
}
}
发表回复