Показать сообщение отдельно
  #1 (permalink)  
Старый 29.01.2018, 12:30
Интересующийся
Отправить личное сообщение для Walk Посмотреть профиль Найти все сообщения от Walk
 
Регистрация: 14.08.2017
Сообщений: 28

Скрипт "таймера" отстает, если свернуть браузер или переключиться на другую вкладку
Здравствуйте

Есть довольно простой js-скрипт, аналог таймера, который каждую секунду изменяет цифру на экране:

var time = 1000;
var start_time = 1000; 
// ...другие параметры

            function timer() {
                setTimeout(
                    function run() {
                            second++;
                            view(); // обновляет информацию на экране
                            setTimeout(run, time);
                        }
                    },
                    start_time);
            }


При открытии/обновлении страницы php получает данные о текущем времени, и дальше уже отрабатывает js.

Заметил, что если скрыть браузер, или переключиться на другие вкладки, а потом (минут через 5-10+) вернуться на страницу с таймером, и обновить страницу - то время на несколько десятков секунд "прыгнет" вперед.

Получается, что в этом случае js как бы подлагивает, и считает "время" медленней реального. Знакомый программист, разбирающийся в js сказал, что с этим ничего не поделать. Это так?
Ответить с цитированием