Estoy escribiendo una extensión de Chrome usando JavaScript y el propósito de la extensión es manipular el DOM en un sitio web que usa React y carga dinámicamente diferentes elementos. ¿Hay alguna forma de detectar que la página se ha renderizado completamente?
Al utilizar DOMContentLoaded, o incluso la carga, los controladores de eventos fallan porque se activan justo cuando se estructura la 'raíz' del HTML base. Esta extensión está diseñada para crear una lista de tareas basada en asignaciones incompletas, que pueden tardar un tiempo desconocido en procesarse por completo.
Actualmente, el problema se soluciona mediante el uso de una promesa personalizada que espera 1500 ms después de window.onload antes de intentar interactuar con el DOM. También he usado un intervalo de 100 ms para buscar componentes específicos. Ninguna de estas opciones parece ser la mejor. La opción de 1500 ms no es lo suficientemente dinámica, a veces 200 ms pueden ser suficientes, mientras que otras veces se necesitan 1800 ms. En cuanto a la verificación de intervalos, creo que la relación costo/beneficio es demasiado alta y preferiría evitar intervalos como ese si es posible.
¿Cuáles son mis opciones?
¡Gracias!