前端如何获取Cookie
只能获取HttpOnly为false的cookie:
如果没有HttpOnly为false的cookie:
基本的cookie操作有三种:读取、写入、删除。
var CookieUtil = {
//获取cookie(HttpOnly不为true的)
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();
}
if(path){
cookieText += "; path=" + path;
}
if(domain){
cookieText += "; domain=" + domain;
}
if(secure){
cookieText += "; secure";
}
document.cookie = cookieText;
},
//删除已有的cookie的间接方法。new Date(0)设置失效时间为1970-01-01.这样就能确保删除cookie。
unset:function(name,path,domain,secure){
this.set(name,"",new Date(0),path,domain,secure);
}
};
//设置cookie CookieUtil.set("name","Nicholas"); CookieUtil.set("book","professional Javascript"); //读取cookie的值 alert(CookieUtil.get("name")); //"Nicholas" alert(CookieUtil.get("book")); //"professional Javascript" //删除cookie CookieUtil.unset("name");