Chrome extensión — actualización de pestanas programada

Chrome tab lifecycle: when reload actually fires

A recarga desenvólvese cando unha alarma Chrome chega ao traballador do servizo, non cando un script dentro da páxina está activado.

As pestanas dormen, descartan e descartan a presión da memoria. Pechan as ventás emerxentes. Os temporizadores de páxina morren co documento. Auto Refresh Turbo mantén a programación nun traballador do servizo de extensión e chama a tabs.reload cando se dispara a alarma, polo que a conta atrás pode sobrevivir á ventá emerxente.

Actores na liña temporal

  • Traballador do servizo: é propietario do estado da sesión e da seguinte alarma
  • chrome.alarms: esperta o traballador pola marca programada
  • tabs.reload: realiza unha recarga normal ou dura para ese ID de pestana
  • Emerxente/insignia/chip opcional na páxina: vistas do tempo restante; non a autoridade

Ruta profunda do produto: como funciona a actualización automática das pestanas.

Un único ciclo

  1. Preme Inicio cun intervalo (fixo ou aleatorio) para unha pestana
  2. O traballador almacena a sesión e activa a seguinte alarma
  3. As superficies da interface mostran o tempo restante
  4. A alarma dispara → Chrome volve cargar a pestana
  5. Se a sesión continúa, armarase o seguinte atraso
  6. As regras de programación, a parada despois de N, a parada de interacción ou a parada de páxinas sospeitosas poden pausar ou finalizar o ciclo

Cando a pestana está en segundo plano

As pestanas de fondo pódense limitar para o JavaScript da páxina. Esa é unha das razóns polas que un temporizador de só guión de contido é un bucle central débil. As alarmas e a programación do traballador están destinadas a manter os intentos de recarga aliñados co teu intervalo aínda que a páxina non estea enfocada, suxeita ás políticas de enerxía e extensións propias de Chrome.

Pestanas descartadas e conxeladas

Chrome pode descartar unha pestana para liberar memoria. Unha recarga posterior aínda ten como obxectivo o identificador da pestana se a sesión segue sendo válida; o documento carga novo. Se unha pestana se pechou por completo, esa sesión debería rematar; as pestanas pechadas non son zombies silenciosos.

O traballador do servizo reinicia

Os traballadores poden durmir. As instantáneas persistentes no almacenamento local axudan a reconstruír sesións despois do reinicio. Os URL e os intervalos almacénanse para ese camiño de restauración, non para construír un produto de historial de navegación. Consulta a Política de privacidade.

Pechar a ventá emerxente non detén a sesión: o traballador mantén a alarma e, ao volver abrir a ventá emerxente, debería mostrar o tempo restante de novo. Preme Deter cando queiras finalizar a actualización.

Programa fiestras e o reloxo

Fóra dunha xanela diaria, a sesión está en pausa: as alarmas non deben recargarse ata que se abra a xanela. Iso non é Stop. Aclara os estados en programación pausada vs detida e programación diaria.

Despois da recarga, a IU volve montar

Unha recarga completa crea un novo documento. Un temporizador visual opcional remonta e resincronízase co traballador. A inxección precoz mantén a brecha curta; o traballador aínda decide a próxima hora de incendio.

O que pode bloquear un incendio

  • Programar pausa
  • Parar / parar despois de N
  • Parar ao facer clic/escribir
  • Parada de páxina sospeitosa
  • Faltan permisos ou un esquema de URL non recargable

Procedemento: solución de problemas.

Temporización de varias pestanas

Cada sesión de pestanas ten as súas propias alarmas e opcións. Cinco pestanas significan cinco ciclos de vida independentes: útil para muros, é fácil de sobrecargar unha única orixe se non tes coidado (límites de taxa).

Próbao

Instala Auto Refresh Turbo, inicia unha sesión de 30 segundos, pecha a ventá emerxente e confirma que a pestana aínda se recarga segundo o programa.

Relacionado

Seguir explorando

Interesante