Справочная информация. Я выполняю некоторые тесты пользовательского интерфейса, которые необходимо определить, обращают внимание люди или нет. Но этот вопрос < не API видимости страницы.
В частности, мне хотелось бы знать, как повлияет мой Javascript-код, если текущая вкладка не активна или окно браузера неактивно в разных браузерах. Я покал следующее:
- ios 5 приостанавливает javascript, если вкладка неактивна
-
setInterval
иsetTimeout
задержка уменьшается, когда вкладки не активны - похоже, что это только что появилось недавно и может испортить Жасмин модульные тесты, вокруг других вещей. -
requestAnimationFrame
замедляется, когда вкладка не активна (разумно, не может думать, почему это слишком сильно повлияло на кого-либо).
У меня есть следующие вопросы:
- В отличие от мобильных браузеров, настольные браузеры когда-либо приостанавливают выполнение JS, если вкладка не активна? Когда и какие браузеры?
- Какие браузеры сокращают повторение
setInterval
? Это просто сокращено до предела или на процент? Например, если у меня есть 10 мс повторение по сравнению с повторением 5000 мс, как каждый из них будет затронут? - Выполняются ли эти изменения, если окно не в фокусе, а не только табуляция? (Я думаю, это будет сложнее обнаружить, так как для этого требуется API OS.)
- Есть ли другие эффекты, которые не наблюдались бы на активной вкладке? Могут ли они испортить вещи, которые в противном случае выполнялись бы правильно (т.е. Вышеупомянутые тесты Жасмина)?