如何衡量按下2次按钮之间的时间?
我正在建立一个网站,用户反复点击按钮以提高他/她的分数。 为了防止人们作弊,我想测量每次点击之间的时间长度,如果他们点击非常快,点击之间的时间很短,我想要一个CAPTCHA或其他东西出现。
我如何衡量点击之间的时间?
我的建议如下:
$('button').click((function() { var history = [], last = +new Date(); return function(e) { history.push(e.timeStamp - last); console.log(history[history.length - 1]); last = e.timeStamp; }; }()));
这将输出并存储两次点击之间的差异,以毫秒为单位。 您可以使用历史数组来获取平均值并检查是否低于50毫秒或其他值。
演示 : http : //jsfiddle.net/TxKjT/
平均检查演示 : http : //jsfiddle.net/TxKjT/2/
Click处理程序可以将时间戳维护为JavaScript“Date”实例。 减去其中两个,你有间隔,以毫秒为单位。
请注意,时钟精度不一定非常高,人类可以快速生成点击。 我认为,Windows不会比15毫秒的粒度更好。