我正在使用内置计时器构建某种测验。
这一切都很好,计时器会根据你回答问题的速度来设置分数。
唯一的问题是 - 当有人右键单击文档时计时器停止,并且该用户可以考虑这个问题,也许可以从移动设备上搜索它或其他什么。
我尝试使用 JS 阻止右键单击,但由于它是一个 facebook 应用程序,如果有人在应用程序框架之外右键单击 - 计时器仍然停止。
关于如何创建一个无论右键单击都可以运行的计时器的任何想法?
提前谢谢!
我正在使用内置计时器构建某种测验。
这一切都很好,计时器会根据你回答问题的速度来设置分数。
唯一的问题是 - 当有人右键单击文档时计时器停止,并且该用户可以考虑这个问题,也许可以从移动设备上搜索它或其他什么。
我尝试使用 JS 阻止右键单击,但由于它是一个 facebook 应用程序,如果有人在应用程序框架之外右键单击 - 计时器仍然停止。
关于如何创建一个无论右键单击都可以运行的计时器的任何想法?
提前谢谢!
我不会使用setInterval
或setTimeout
为此。相反,我会记录他们何时开始查看问题以及何时回答问题,并从中获取差异。
当然,如果这些信息是在客户端保存的,那么所有的赌注都没有了。:-) 即使您将信息发送到服务器,您也必须有一些机制来处理来自试图作弊的人不可避免的手工制作的 HTTP 请求。
你可以为鼠标右键单击事件:
$('#element').mousedown(function(event) {
if (event.which ==3) {
event.preventDefault();
}
});
或像这样:
$(document).bind("contextmenu",function(e){
return false;
$('.alert').fadeToggle(); // this line never gets called
});