当前位置:首页 > 行业动态 > 正文

cookie js 有效期

Cookie JS有效期可通过设置 max-ageexpires属性来控制。

在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的有效期,以便更好地管理用户的状态信息和数据存储。
0