У меня есть таймер, который подсчитывает время, проведенное на странице. Я использую https://github.com/jasonzissman/TimeMe.jsКак прекратить отправку данных, когда пользователь покидает окно/вкладку?
Если пользователь покидает компьютер или меняет вкладку, таймер останавливается (чтобы правильно рассчитать потраченное время). Это отправляет серверу продолжительность каждые 5 секунд, как показано ниже.
setInterval(function() {
var timeSpentOnPage = TimeMe.getTimeOnCurrentPageInSeconds();
},5000);
Моя проблема заключается в том, что если пользователь покидает компьютер или изменяет вкладку, мой сценарий будет продолжать пинговать сервер, обновляя его с тем же «timeSpentOnPage», так как он останавливается, когда вы не активны.
Я хочу прекратить отправку данных на сервер, если это произойдет.
Что такое возможный способ? Может быть, сравнить 2 разных таймера?
Рассмотрим использование событий JavaScript для просто clearInterval. https://developer.mozilla.org/en-US/docs/Web/Events один из них должен соответствовать вашим потребностям – fubbe
Это может помочь. http://stackoverflow.com/questions/1760250/how-to-tell-if-browser-tab-is-active/1760268#1760268 –