Расшырэнне Chrome — абнаўленне ўкладкі па таймеру

Chrome tab lifecycle: when reload actually fires

Перазагрузка спрацоўвае, калі трывога Chrome дасягае сэрвіснага воркера, а не калі скрыпт ўнутры старонкі не працуе.

Укладкі спяць, адкідваюцца і адкідаюцца з-за нагрузкі памяці. Усплывальныя вокны зачыняюцца. Таймеры старонак паміраюць разам з дакументам. Auto Refresh Turbo захоўвае расклад у праграме пашыральнай службы і выклікае tabs.reload, калі спрацоўвае будзільнік, таму зваротны адлік можа перажыць усплывальнае акно.

Акцёры ў часовай шкале

  • Service Worker — валодае станам сесіі і наступным будзільнікам
  • chrome.alarms — абуджае працоўнага на запланаваны час
  • tabs.reload — выконвае звычайную або жорсткую перазагрузку для гэтага ідэнтыфікатара ўкладкі
  • Усплывальнае акно / значок / дадатковы чып на старонцы — прагляд часу, які застаўся; не ўлада

Глыбокі шлях да прадукту: як працуе аўтаматычнае абнаўленне ўкладак.

Адзін цыкл

  1. Вы націскаеце «Пачаць» з інтэрвалам (фіксаваным або выпадковым) для ўкладкі
  2. Рабочы захоўвае сеанс і ўключае наступны будзільнік
  3. Паверхні інтэрфейсу паказваюць час, які застаўся
  4. Спрацоўвае будзільнік → Chrome перазагружае ўкладку
  5. Калі сеанс працягваецца, наступная затрымка ставіцца на ахову
  6. Правілы раскладу, прыпынак пасля N, прыпынак узаемадзеяння або прыпынак падазронай старонкі могуць прыпыняць або спыняць цыкл

Калі ўкладка працуе ў фонавым рэжыме

Фонавыя ўкладкі могуць быць абмежаваныя для JavaScript старонкі. Гэта адна з прычын таго, што таймер, які выкарыстоўвае толькі скрыпт кантэнту, з'яўляецца слабым цыклам ядра. Будзільнікі + працоўнае планаванне прызначаны для таго, каб спробы перазагрузкі адпавядалі вашаму інтэрвалу, нават калі старонка не ў цэнтры ўвагі - у залежнасці ад уласнай палітыкі пашырэння і сілкавання Chrome.

Адкінутыя і замарожаныя ўкладкі

Chrome можа адхіліць укладку, каб вызваліць памяць. Пазнейшая перазагрузка па-ранейшаму арыентуецца на ідэнтыфікатар укладкі, калі сеанс застаецца сапраўдным; дакумент загружаецца свежым. Калі ўкладка была цалкам закрыта, гэты сеанс павінен скончыцца — закрытыя ўкладкі не з'яўляюцца ціхімі зомбі.

Перазапуск Service Worker

Рабочыя могуць спаць. Захаваныя здымкі ў лакальным сховішчы дапамагаюць аднавіць сеансы пасля перазапуску. URL-адрасы і інтэрвалы захоўваюцца для гэтага шляху аднаўлення, а не для стварэння прадукту гісторыі прагляду. Глядзіце Палітыку прыватнасці.

Закрыццё ўсплывальнага акна не спыняе сесію: працаўнік захоўвае будзільнік, і паўторнае адкрыццё ўсплывальнага акна павінна зноў паказаць час, які застаўся. Націсніце "Стоп", калі хочаце скончыць абнаўленне.

Вокны раскладу і гадзіннік

Па-за дзённым акном сеанс прыпыняецца: будзільнікі не павінны перазагружацца, пакуль не адкрыецца акно. Гэта не Стоп. Удакладніце стану ў раскладзе прыпынена і спынена і штодзённым раскладзе.

Пасля перазагрузкі інтэрфейс перамантуецца

Пры поўнай перазагрузцы ствараецца новы дакумент. Дадатковы візуальны таймер перамантуе і паўторна сінхранізуе з рабочым. Ранняя ін'екцыя дазваляе скараціць разрыў; рабочы па-ранейшаму вырашае час наступнага пажару.

Што можа заблакаваць пажар

  • Запланаваць паўзу
  • Стоп / стоп-пасля-N
  • Спыніцца пасля пстрычкі/набору тэксту
  • Прыпынак на падазронай старонцы
  • Адсутнічаюць дазволы або схема URL не перазагружаецца

Пакрокавае кіраўніцтва: вырашэнне непаладак.

Мульты-ўкладкі

Кожны сеанс укладкі мае ўласныя будзільнікі і параметры. Пяць укладак азначаюць пяць незалежных жыццёвых цыклаў — карысна для сцен, лёгка перагрузіць адно зыходнае паходжанне, калі вы не будзеце ўважлівыя (абмежаванні хуткасці).

Паспрабуйце

Усталюйце Auto Refresh Turbo, пачніце 30-секундны сеанс, зачыніце ўсплывальнае акно і пацвердзіце, што ўкладка ўсё яшчэ перазагружаецца па раскладзе.

Звязаныя

Працягвайце даследаваць

Цікава