Я создаю викторину со встроенным таймером.
Все это отлично работает, и таймер устанавливает счет в зависимости от того, как быстро вы отвечаете на вопрос.
Проблема только в том, что когда кто-то щелкнет правой кнопкой документ, таймер остановится, и этот пользователь может подумать над вопросом, может быть, google с мобильного устройства или нет.
Я попытался заблокировать правый клик, используя JS, но с его приложения facebook, если кто-то щелкнет правой кнопкой мыши за рамкой приложения, таймер все еще останавливается.
Любые идеи о том, как создать таймер, который может запускаться независимо от щелчков правой кнопкой мыши?
Спасибо, вперед!
Для этого я бы не использовал setInterval
или setTimeout
. Вместо этого я записывал, когда они начали просматривать вопрос, и когда они ответили на него, и изменили ситуацию.
Конечно, если эта информация хранится на стороне клиента, все ставки отключены. :-) Даже если вы отправляете информацию на сервер, у вас должен быть какой-то механизм для обработки неизбежных ручных HTTP-запросов от людей, пытающихся обмануть.
U может сделать событие для щелчка правой кнопкой мыши:
$('#element').mousedown(function(event) { if (event.which ==3) { event.preventDefault(); } });
или вот так:
$(document).bind("contextmenu",function(e){
return false;
$('.alert').fadeToggle(); // this line never gets called
});
setInterval
в Firefox, Chrome или Opera: jsbin.com/afotoRA/1 Это происходит в IE10. (вздыхает) Я все еще не думаю, что использовал бы такой таймер для определения времени , но, возможно, для "времени вышло!" сообщение или подобное.