Как проверить, во скольких вкладках открыт сайт? Чтобы можно было избежать высокой нагрузки на сервер, если например на сайте каждые пару секунд идут несколько запросов на сервер. Скажем у человека открыто 10 вкладок, но пользуется только 1. А в итоге еще 9 отправляют 5 запросов на сервер каждые 2 секунды, хотя толку от этого нет.
В современных браузерах неактивные вкладки способны практически замораживаться. Например, в хроме прекращается обработка таймеров, прекращается requestAnimationFrame.
Если отвечать в общем на вопрос, проверьте для начала какой нибудь статистикой какой процент аудитории открывает несколько вкладок, иначе все дальнейшие оптимизации будут крайне несущественными.
Некогда делали так. Ставим интервал, каждый раз увеличивая счетчик. Если счетчик достиг определенного значения, запросы на сервер не отправляем. Если на странице происходят какие-то шевеления (события ниже), то счетчик обнуляем, если нужно, запускаем отправку запросов по новой.
window.onscroll - прокрутка страницы
window.onmousemove - движение мыши
window.onfocus - переход во вкладку
window.onkeydown - нажатие клавиш
window.onclick - нажатие на кнопки мыши
Можно сделать проще и следить только за onfocus/onblur.
Но если пользователь ждет какого-то события с сайта и решил во время ожидания посмотреть что-то иное, открыв рядом второе окно, то от сайта он ничего не дождется.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый День! Столкнулся с проблемой, JS никак не может понять стиль и выдает ошибку в consolelog каждый раз
Как сделать так чтобы, если в числе больше двух нулей, то оно отделялось пробелами то есть: 100 < 2 , 1 000 > 2, 1 000 000 > 2 и тд
Добрый день, есть скрипт карусельки, не могу додуматься как можно запустить автоплей, при попадании блока карусели на экран, а не при загрузке...