沃梦达 / IT编程 / 前端开发 / 正文

JS 设置Cookie 有效期 检测cookie

下面是 JS 设置 Cookie 有效期、检测 Cookie 的完整攻略。

下面是 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