执行在午夜重置投票cookie的函数
Execute function which resets vote cookie at midnight
我正在建立一个网站,在某个时候人们可以投票赞成或反对,他们可能每天只做一次。我在网上找到了一个脚本,允许用户只投票一次,它有一个按钮来重置cookie,这样用户就可以再次投票。我想投票,按钮的功能,午夜后重置。下面是html中按钮激活的javascript代码。它是关于。ld-btn-reset部分的,它会进行重置,所以我希望这个部分在午夜被激活。
run : function()
{
var s = '';
s += "<div class='ld-bar-like'></div>";
s += "<div class='ld-bar-dislike'></div>";
s += "<div class='ld-clear-both'></div>";
$( this.domobj ).find( '.ld-stats-bar' ).html( s );
var _this = this;
$( this.domobj ).find( '.ld-btn-like' ).click( function(e){
e.preventDefault();
_this.vote( $(this), 'likes' );
});
$( this.domobj ).find( '.ld-btn-dislike' ).click( function(e){
e.preventDefault();
_this.vote( $(this), 'dislikes' );
});
$( this.domobj ).find( '.ld-btn-reset' ).click( function(e){
e.preventDefault();
var key = _this.getCookieName();
Cookie.del( key );
alert( 'Cookie has been reset!' );
});
this.send( '' );
},
如果你不关心人们通过清除cookie来"欺骗系统",那么你应该在设置cookie的时候控制它的过期日期,而不是试图重置它。
var currentDate = new Date();
var expirationDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()+1, 0, 0, 0);
$.cookie("vote", "5", {expires: expirationDate});
这将取当前日期,加1天,并将日期设置为0:00
要在下面的注释中引用示例代码,可以使用以下命令:
var currentDate = new Date();
var expirationDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()+1, 0, 0, 0);
var expires = "; expires=" + expirationDate.toGMTString();
document.cookie = name + "=" + value + expires + "; path=/";
更详细地解释流程:
- 我们设置currentDate为当前时间和日期
- 我们通过从当前年,月和日建立一个日期来设置新的截止日期,然后我们加1(使其成为明天早上的午夜)
- 我们将"expires"字符串设置为";expires="然后将截止日期转换为GMT日期字符串
- 你可以设置你的cookie名称,值和新的过期时间
你的旧代码基本上是在当前日期和时间上添加24小时
相关文章:
- 为什么没有用于cookie的内置JS函数
- 有人可以帮助我调试带有addClass和removeClass函数的“每个会话一次”cookie吗?
- 加载 cookie 后调用 JavaScript 函数
- Javascript Security:将敏感数据存储在比cookie更安全的自调用函数中
- 表达式'$的结果.cookie'[未定义]不是函数
- 为什么不'这行得通吗?它涉及cookie、函数和参数
- JQuery cookie 在其他函数中设置
- 使用函数setTimerOut和jquery Cookie的模型窗口
- HTML 从外部 JavaScript 文件触发函数并返回 cookie
- 重复/循环javascript函数来检查cookie是否已更改
- HTML 正文加载函数需要删除并使用 cookie 执行相同的函数,但只能进行第一次访问
- 为什么这个函数不读取和显示cookie
- 如果 cookie 匹配,则调用 JS 函数
- $.cookie('name') 不是一个函数
- 将Cookie添加到一个简单的函数中
- 通过javascript或jQuery对函数进行Cookie处理
- PHP/Javascript混合Cookie函数
- jQuery$.cookie不是函数
- 函数获胜't存储cookie
- 如何在Rails中重写简单的.js页面查看计数器cookie函数