Как объединить setInterval и window.onfocus
Добрый день!
У меня есть скрипт: function mode() { ............ $(function() { mode(); }); setInterval(mode, 10000); который запускает function mode() каждые 10 сек, начиная с нулевой Надо сделать, что бы была еще проверка на нахождение пользователя на этой странице. Т.е. function mode() должна запускаться при совпадении двух условий - срабатывание таймера на 10 сек и нахождение пользователя на странице. Попробовал вот так: function mode0() {window.onfocus = function (mode);} setInterval(mode0, 10000); Но не работает. Как сделать правильно? Использование именно window.onfocus не обязательно |
Можно использовать document.visibilityState
document.visibilityState === 'visible' Если страница находится на открытой вкладке и окно браузера не минимизировано. В противном случае document.visibilityState === 'hidden' |
А можно поконкретнее, куда и что подставить.
Тогда сразу и попробую. Я работаю только с PHP, а в javascript полный ноль. |
Димол,
function mode() { }; function loop() { document.visibilityState === 'visible' && mode(); setTimeout(loop, 10000); }; addEventListener( "DOMContentLoaded" , loop); |
Непонятно, но здорово.
Все работает. Спасибо. |
Часовой пояс GMT +3, время: 00:56. |