Я хочу использовать webworker для обнаружения моего простоя.Как использовать webworker в javascript/Jquery для определения времени простоя?
Я пишу код. Что еще мне нужно добавить, чтобы мой счетчик перезапустился при перемещении мыши или нажал клавишу?
Я новичок в кодировании. Пожалуйста помоги. Вот мой код:
<ul id="message-list"></ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
var worker = new Worker('demo.js');
worker.onmessage = function(e){
var message =e.data;
$('#message-list').append('<li>'+message+'</li>');
}
</script>
Это мой основной HTML-файл и demo.js ниже:
var idleTime = 0;
var idleInterval = setInterval(timerIncrement, 1000);
function timerIncrement() {
idleTime = idleTime + 1;
self.postMessage(idleTime);
if (idleTime == 15) { // 15 seconds
self.close();
}
}
В этом коде цикла будет работать в течение 15 секунд, после чего работник прекращается. Я хочу, чтобы этот цикл снова начинался с 0, если я перемещаю мышь или нажимаю любую клавишу на клавиатуре.
Есть ли какая-то конкретная причина, по которой вы решили использовать работников для этого? Кажется, что-то, что будет нормально работать в основном потоке? – adeneo
@adeneo Есть некоторые другие вещи, которые я собираюсь добавить в этот demo.js, и я подумал, что если есть способ, я могу использовать это и внутри рабочего js – Frank
@adeneo. Я никогда не использовал рабочего, поэтому я хочу спросить, можем ли мы имеют несколько postmessage и onmessage ... как одно сообщение отправляет какой-то другой объект, а другое сообщение отправляет другой объект, который читается onmessage на главной странице? – Frank