Перезагрузка срабатывает, когда сигнал тревоги Chrome достигает сервисного работника, а не когда скрипт внутри страницы активизируется.
Вкладки спят, отбрасываются и удаляются из-за нехватки памяти. Всплывающие окна закрываются. Таймеры страниц умирают вместе с документом. Auto Refresh Turbo сохраняет расписание в рабочем сервисе расширений и вызывает tabs.reload при срабатывании будильника, поэтому обратный отсчет может пережить всплывающее окно.
Актеры на временной шкале
- Сервисный работник — владеет состоянием сеанса и следующим сигналом тревоги.
- chrome.alarms — будит работника по запланированному тике.
- tabs.reload — выполняет обычную или полную перезагрузку для этого идентификатора вкладки.
- Всплывающее окно/значок/необязательная фишка на странице — просмотры оставшегося времени; не авторитет
Подробный путь к продукту: как работает автоматическое обновление вкладок.
Один цикл
- Вы нажимаете «Старт» с интервалом (фиксированным или произвольным) для вкладки.
- Рабочий сохраняет сеанс и включает следующий сигнал тревоги.
- Поверхности пользовательского интерфейса показывают оставшееся время
- Срабатывает сигнал тревоги → Chrome перезагружает вкладку
- Если сеанс продолжается, включается следующая задержка.
- Правила расписания, остановка после N, остановка взаимодействия или остановка на подозрительной странице могут приостановить или завершить цикл.
Когда вкладка находится в фоновом режиме
Фоновые вкладки можно регулировать для JavaScript страницы. Это одна из причин, по которой таймер только для сценария контента является слабым базовым циклом. Планирование сигналов тревоги и рабочих процессов предназначено для того, чтобы попытки перезагрузки согласовывались с вашим интервалом, даже если страница не активна — в соответствии с собственными политиками расширения и питания Chrome.
Удаленные и замороженные вкладки
Chrome может удалить вкладку, чтобы освободить память. Более поздняя перезагрузка по-прежнему нацелена на идентификатор вкладки, если сеанс остается действительным; документ загружается свежий. Если вкладка была полностью закрыта, этот сеанс должен завершиться — закрытые вкладки не являются молчаливыми зомби.
Сервисный работник перезагружается
Работники могут спать. Сохраняемые снимки в локальном хранилище помогают восстанавливать сеансы после перезапуска. URL-адреса и интервалы сохраняются для этого пути восстановления, а не для создания продукта с историей просмотров. См. Политику конфиденциальности.
Закрытие всплывающего окна не останавливает сеанс: работник сохраняет будильник, и при повторном открытии всплывающего окна снова должно отображаться оставшееся время. Нажмите «Стоп», когда хотите завершить обновление.
Окна и часы по расписанию
За пределами ежедневного окна сеанс приостанавливается: сигналы тревоги не должны перезагружаться, пока не откроется окно. Это не Стоп. Уточните состояния в приостановленном и остановленном расписании и ежедневном расписании.
После перезагрузки пользовательский интерфейс перемонтируется
Полная перезагрузка создает новый документ. Дополнительный визуальный таймер перемонтируется и повторно синхронизируется с работником. Раннее введение сокращает разрыв; рабочий по-прежнему определяет время следующего пожара.
Что может остановить пожар
- Запланировать паузу
- Стоп/стоп-после-N
- Остановить нажатие/ввод
- Остановка на подозрительной странице
- Отсутствуют разрешения или неперезагружаемая схема URL.
Пошаговое руководство: устранение неполадок.
Время на нескольких вкладках
Каждая вкладка имеет свои собственные сигналы тревоги и параметры. Пять вкладок означают пять независимых жизненных циклов — полезно для стен, легко перегрузить один источник, если вы не будете осторожны (ограничения скорости).
Попробуйте
Установите Auto Refresh Turbo, запустите 30-секундный сеанс, закройте всплывающее окно и убедитесь, что вкладка по-прежнему перезагружается по расписанию.