cookie js 有效期
- 行业动态
- 2025-03-30
- 1
Cookie JS有效期可通过设置
max-age
或
expires
属性来控制。
在JavaScript中,Cookie的有效期是一个非常重要的概念,它决定了Cookie在浏览器中的存活时间,以下是关于Cookie有效期设置的详细解释:
1、使用expires
属性设置有效期
原理:通过指定一个具体的到期日期和时间来控制Cookie的有效期,当到达这个日期和时间后,浏览器会自动删除该Cookie。
示例代码
假设要设置一个名为“username”的Cookie,有效期为7天,可以使用以下代码:
“`javascript
var date = new Date();
date.setTime(date.getTime() + (7 24 60 60 1000)); // 当前时间加上7天的毫秒数
document.cookie = "username=JohnDoe; expires=" + date.toUTCString() + "; path=/";
解释:首先创建一个表示当前时间的Date对象,然后使用setTime
方法将当前时间加上7天所对应的毫秒数(1天=24小时,1小时=60分钟,1分钟=60秒,1秒=1000毫秒,所以7天就是72460601000毫秒),将过期日期转换为UTC字符串格式,并将其作为Cookie的一部分加入到document.cookie
中。path=/
表示该Cookie在整个网站上都可访问。 2、使用max-age
属性设置有效期原理:以秒为单位指定Cookie从创建到失效的时间间隔,这种方式相对简单,不需要计算具体的时间戳。示例代码 如果要设置一个名为“sessionToken”的Cookie,有效期为30分钟,可以使用以下代码: ```javascript document.cookie = "sessionToken=abc123; max-age=1800; path=/";
解释:这里直接指定max-age
的值为1800秒(30分钟),浏览器会根据当前的创建时间来计算Cookie的失效时间,同样,path=/
表示Cookie的作用范围是整个网站。
3、不设置有效期的情况
默认行为:如果在设置Cookie时没有指定有效期,那么默认情况下,Cookie会在浏览器关闭时自动失效,这种Cookie通常被称为“会话Cookie”,只在浏览器的当前会话期间有效。
示例代码
设置一个名为“tempData”的会话Cookie:
“`javascript
document.cookie = "tempData=someValue; path=/";
应用场景:会话Cookie常用于存储一些临时数据,如用户登录状态、购物车信息等,这些数据只需要在用户当前的浏览会话中保持有效,一旦用户关闭浏览器,这些数据就不再需要保留。 在JavaScript中设置Cookie的有效期有多种方式,开发者可以根据具体的需求选择合适的方法来设置Cookie的有效期,以便更好地管理用户的状态信息和数据存储。