Я проверял точность setTimeout
использования этого теста . Теперь я заметил, что (как и ожидалось) setTimeout
не очень точный, но для большинства приборов не очень точный. Теперь, если я запускаю тест в Chrome и позволяю ему работать в фоновой вкладке (так, переключаясь на другую вкладку и просматривая ее), возвращаюсь к тесту и проверяю результаты (если тест завершен), они кардинально изменяются. Похоже, что таймауты стали намного медленнее. При тестировании в FF4 или IE9 этого не произошло.
Таким образом, похоже, что Chrome приостанавливает или, по крайней мере, замедляет выполнение javascript на вкладке, у которой нет фокуса. Не удалось найти в сети много информации по этой теме. Это означало бы, что мы не можем запускать фоновые задачи, такие как, например, периодическая проверка на сервере с помощью вызовов XHR и setInterval
(я подозреваю, что вижу такое же поведение setInterval
, напишет тест, если время со мной).
Кто-нибудь сталкивался с этим? Есть ли способ обхода этой приостановки / замедления? Вы бы назвали это ошибкой, и я должен зарегистрировать это как таковую?
transition
, поэтому не все div переходят одновременно, а на самом деле через 15 мс после каждого, создавая некоторый эффект качения. Когда я перехожу на другую вкладку и возвращаюсь через некоторое время, все блоки div переходят одновременно, и setTimeOut
полностью игнорируется. Это не большая проблема для моего проекта, но странное и нежелательное дополнение.