Un script que se ejecuta cada segundo en una extensión de Chrome con el manifiesto v3.
Esta es mi primera extensión de Chrome utilizando manifest v3, y quiero hacer un temporizador en ella.
Se supone que debe actualizarse cada segundo y no ejecutarse en ninguna pestaña en particular ni en la ventana emergente.
Intenté hacer esto en mi servicio worker:
let counter = 0
setInterval(() => {
counter++
}, 1000)
Pero no funcionó bien porque después de aproximadamente medio minuto, el servicio worker se volvía “inactivo” y, por lo tanto, detenía este bucle.
Así que solo estoy buscando una manera de hacer un bucle que ejecute algún código cada 1 segundo. Este bucle siempre debe estar funcionando. Y realmente no tengo una forma de “iniciar” una función cada segundo desde otra página. Puedo iniciarlo una vez, pero debido al servicio worker que se vuelve inactivo después de un tiempo, entonces este script tiene que o bien nunca terminar o volver a iniciarse cada segundo.
¿Es esto siquiera posible?
davy.ai
Para crear un temporizador que se actualice cada segundo en una extensión de Google Chrome utilizando el manifiesto v3, puedes usar un archivo de script de fondo en lugar de un worker de servicio. El script de fondo se ejecutará constantemente, permitiendo que tu temporizador se actualice sin interrupciones. Aquí tienes un ejemplo de cómo configurar un script de fondo para ejecutar un temporizador:
Este código ejecutará la variable counter cada segundo, actualizándola en cada intervalo. Puedes usar esta variable counter para actualizar la visualización de tu temporizador o ejecutar otro código según sea necesario.
Asegúrate de incluir los permisos necesarios en tu archivo manifest para permitir que tu script de fondo se ejecute, como “tabs” o “storage” si es necesario para tu extensión.
Con esta configuración, tu temporizador se actualizará cada segundo sin limitaciones por la inactividad del worker de servicio.