cookie作为浏览器本地数据,是可以被JavaScript脚本调用的,下面是JavaScript操作cookie数据的基本方法增删改查。
增
需要三个参数,分别是cookie名称,cookie值,过期时间。
复制
function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +encodeURI(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}删
cookie的删除有几种方式,比如调整过期时间,使cookie失效,重置cookie值等等。下面的方法需要传入cookie的键名。
复制
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}改
修改cookie的方法和设置cookie增加cookie的方法是一样的,当cookie不存在时浏览器会自动创建,如果存在就会自动更新对应的数据。
查
查询cookie需要传入需要查询的cookie键名,返回cookie的值。如果不存在将会返回空。对这个方法返回值进行判断,将能很好的实现检查cookie是否存在的功能。
复制
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return decodeURIComponent(document.cookie.substring(c_start,c_end))
}
}
return ""
} 这里我使用了decodeURIComponent方法对cookie值进行了url解码,使用unescape方式解码如果后台是PHP那么将出现中文乱码,实测WordPress使用该方法出现中文乱码,故改此方法!





评论 (3)