【发布时间】:2011-11-30 12:25:27
【问题描述】:
我不确定如何在以下代码上设置 cookie:http://jsfiddle.net/zidski/GmLVj/8/
我希望它在登录时显示 5 分钟,然后如果我按下注销它会破坏 cookie。
谁能帮忙??
【问题讨论】:
标签: jquery
我不确定如何在以下代码上设置 cookie:http://jsfiddle.net/zidski/GmLVj/8/
我希望它在登录时显示 5 分钟,然后如果我按下注销它会破坏 cookie。
谁能帮忙??
【问题讨论】:
标签: jquery
5 分钟是 5 * 60 * 1000 毫秒。
var date = new Date();
var minutes = 5;
date.setTime(date.getTime() + (minutes * 60 * 1000));
$.cookie("example", "foo", { expires: date });
【讨论】:
您实际上并不需要 jquery(请参阅 this article 获取教程)。
反正有一个叫jQuery Cookie的插件,可以帮你解决这个问题。
创建一个生命周期为 5 分钟的 cookie:
var expires = new Date();
expires.setMinutes( expires.getMinutes() + 5 ); // Create a date 5 minutes from now
// The path parameter is needed to make this cookie valid across the whole page
$.cookie('login_id', 'cafed00d', {expires: expires, path: '/'});
销毁上述cookie:
$.cookie('login_id', null);
请注意,如果这是安全登录,您应该进行服务器端检查,因为用户可以检查您的 JavaScript 并随意修改 cookie。
【讨论】:
您应该使用jQuery cookie plugin。该插件允许您像这样设置到期日期:
{expires: date}
其中 date 是一个日期对象。在您的情况下,您应该这样做(5 分钟):
var date = new Date();
date.setTime(date.getTime() + (5 * 60 * 1000));
【讨论】:
5 分钟后,您需要将其修改为:-
var date = new Date();
date.setTime(date.getTime() + (5 * 60 * 1000));
$.cookie("example", "foo", { expires: date });
您现在已将其设置为 30 分钟。
【讨论】: