下面是 JS 设置 Cookie 有效期、检测 Cookie 的完整攻略。
设置 Cookie 有效期
通过设置 Cookie 的过期时间,可以让 Cookie 在指定时间内有效,超过指定时间后自动失效。接下来,我们将通过两条示例来展示如何设置 Cookie 有效期。
示例一:使用 Expires 属性
Expires 属性是设置 Cookie 生命周期的一个可选参数。它的作用是指定 Cookie 的失效时间,一旦过期,浏览器就不再保存这个 Cookie。Expires 属性值必须是 GMT 格式的日期字符串,JavaScript 可以通过 toGMTString()
方法将 JavaScript 中的日期对象转换为 GMT 格式的字符串。
// 设置过期时间为一周后
var exp = new Date();
exp.setTime(exp.getTime()+7*24*60*60*1000);
document.cookie = "name=value;expires=" + exp.toGMTString();
通过上面的代码,我们设置了一个名为 "name" 的 Cookie,它的值为 "value",过期时间为一周后。
示例二:使用 Max-Age 属性
除了使用 Expires 属性,我们还可以使用 Max-Age 属性来设置 Cookie 的过期时间。Max-Age 属性的值是一个整数,表示 Cookie 的最大生存时间,以秒为单位。如果没有指定 Max-Age 属性,那么该 Cookie 就会在浏览器关闭时失效。
// 设置过期时间为一小时后
document.cookie = "name=value;max-age=3600";
通过上面的代码,我们设置了一个名为 "name" 的 Cookie,它的值为 "value",过期时间为一小时后。
检测 Cookie
在 JavaScript 中,我们可以通过 document.cookie
属性获取当前页面所有的 Cookie。接下来,我们将通过一条示例来展示如何检测 Cookie 是否存在。
示例:检测 Cookie 是否存在
如果要检测 Cookie 是否存在,我们需要遍历所有的 Cookie,查找是否存在指定的 Cookie。以下是一个检测指定 Cookie 是否存在的代码示例。
function checkCookie(name) {
var cookies = document.cookie.split(';');
for(var i=0;i<cookies.length;i++) {
var c = cookies[i].trim();
if(c.indexOf(name)==0) return c.substring(name.length+1,c.length);
}
return "";
}
// 检测 "name" Cookie 是否存在
var nameValue = checkCookie("name");
if (nameValue != "") {
// 存在 "name" Cookie
} else {
// 不存在 "name" Cookie
}
通过上面的代码示例,我们可以检测 "name" Cookie 是否存在,并且获取它的值。
OK,以上就是 JS 设置 Cookie 有效期、检测 Cookie 的完整攻略。希望这篇攻略对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS 设置Cookie 有效期 检测cookie - Python技术站