Estoy escribiendo una extensión de Chrome que extrae datos de Twitter, específicamente de twitter.com/following , usando un script de contenido. Quiero ejecutar esto en una pestaña/ventana que no esté activa o visible para el usuario, para no interrumpir.
Ahora, Twitter carga gran parte de su contenido mediante scripts, por lo que estoy usando MutationObserver y window.scrollBy para forzar la carga del contenido. Esto funciona perfectamente bien cuando la pestaña está visible. Sin embargo, cuando la pestaña no está visible (pestaña inactiva o ventana minimizada/fuera de pantalla), no funciona. En primer lugar, los temporizadores de setInterval se aceleran una vez por segundo. Investigué un poco y creo que puedo arreglar esto usando requestAnimationFrame , pero aún no lo he probado. El problema más apremiante es que el contenido que estoy buscando, es decir. la lista de cuentas seguidas ya no se carga con los scripts de Twitter.
He intentado falsificar la pestaña para que siempre esté visible usando este fragmento de código, pero no solucionó el problema.
Object.defineProperty(document, "visibilityState", { get() { return "visible"; } }); document.addEventListener("visibilitychange", function(e) { e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); });¿Hay alguna forma de dar a las pestañas no visibles la funcionalidad de las pestañas visibles, aunque sea temporalmente?
PD: Sé que Twitter tiene una API, pero preferiría no tener que lidiar con alojar una aplicación si puedo evitarlo.