3

我正在使用这个名为jscookie.js的 jquery cookie ,我已经阅读了自述文件,甚至在我的项目中实现了。

自述文件解释了如何在“天”内使 cookie 过期,而不是几小时或几分钟。

创建一个从现在起 7 天后过期的 cookie,在整个站点中有效:

Cookies.set('name', 'value', { expires: 7 });

如何将 cookie 设置为在几分钟或几小时后过期?

4

3 回答 3

7

找到答案: 常见问题

JavaScript Cookie 支持在 expires 属性中传递 Date 实例。这提供了很大的灵活性,因为 Date 实例可以指定任何时间。

例如,当您希望 cookie 在 15 分钟后过期时:

var inFifteenMinutes = new Date(new Date().getTime() + 15 * 60 * 1000);
Cookies.set('foo', 'bar', {
    expires: inFifteenMinutes
});

此外,您可以指定要在半天(12 小时)内到期的分数:

Cookies.set('foo', 'bar', {
    expires: 0.5
});

或在 30 分钟内:

Cookies.set('foo', 'bar', {
    expires: 1/48
});
于 2016-05-25T19:49:07.653 回答
3

您可以只除以一天中的分钟数。

Cookies.set('name','value', {expires: (1 / 1440) * minutes });

于 2016-05-25T19:47:46.277 回答
1

给它一个Date对象实例,其中包含您希望 cookie 过期的日期:

// Time in the future
var expire = Date.now();

// Add period in minutes
expire.setMinutes(expire.getMinutes() + 40);

// Add period in hours
expire.setHours(expire.getHours() + 3);

Cookies.set('name', 'value', { expires: expire});
于 2016-05-25T19:50:46.050 回答