js cookie的添加、获取、删除
程序员文章站
2024-03-17 20:08:04
...
cookie的添加、获取、删除在js中比较常用,方法也比较常规。
cookie的添加
/*
功能:保存cookies函数
参数:name,cookie名字;value值
*/
function SetCookie(name, value) {
var Days = 1; //cookie 将被保存一天
var exp = new Date(); //获得当前时间
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); //换成毫秒
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
cookie的获取
/*
功能:获取cookies函数
参数:name,cookie名字
*/
function getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) {
return unescape(arr[2]);
} else {
return null;
}
}
cookie的删除
/*
功能:删除cookies函数
参数:name,cookie名字
*/
function delCookie(name) {
var exp = new Date(); //当前时间
exp.setTime(exp.getTime() - 1 * 24 * 60 * 60 * 1000);
var cval = getCookie(name);
if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}
下面重点说下删除,用上述方法删除cookie的时候会出现删不掉的情况。如下图所示,使用谷歌浏览器打开cookie列表,选中某一个cookie后会显示cookie的相关参数。有一个参数是路径(path),有些cookie之所以删不掉是因为没有指定path参数。
cookie的删除
/*
功能:删除cookies函数
参数:name,cookie名字
*/
function delCookie(name) {
var exp = new Date(); //当前时间
exp.setTime(exp.getTime() - 1 * 24 * 60 * 60 * 1000);
var cval = getCookie(name);
if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/xxx";
}
指定了path参数, cookie就可以正常删除了。
上一篇: idea常用快捷键