Ir al contenido principal

Investigar procesos de carga de recursos y mutaciones del DOM en navegadores web

developer toolbar ¿puedo pausar un proceso en curso (por ejemplo carga de una imagen?

Respuesta rápida

No es posible pausar la carga de recursos estáticos (como imágenes, CSS o scripts) una vez que el navegador ha iniciado la solicitud HTTP, ya que la barra de herramientas del desarrollador no intercepta el flujo de descarga en tiempo real. 

Sin embargo, puedes lograr resultados similares mediante las siguientes alternativas:

  • Pausar la ejecución de JavaScript: Puedes detener el hilo de ejecución del navegador para que el proceso de renderizado se detenga. Esto se logra insertando la palabra clave debugger en tu código JavaScript o estableciendo un punto de interrupción en la pestaña Fuentes (Sources) antes de que se ejecute el código que solicita o manipula la imagen. 

  • Prevenir la carga inicial: Deshabilitar JavaScript en las preferencias de las herramientas de desarrollo impedirá que cualquier script active la carga de recursos dinámicos, aunque esto también bloqueará la funcionalidad normal del sitio. 

  • Congelar el estado visual: Una vez que la imagen ha comenzado a cargarse o renderizarse, puedes usar la opción de freeze (congelar) o los puntos de interrupción de DOM para detener la interacción y permitir la inspección del estado actual del elemento, pero esto no detiene la descarga subyacente de los datos. 

Copiar

🌐

🌐

🌐

🌐

+15

Requiero un punto de interrupción en el DOM

🔍 Busqué cómo configurar puntos de interrupción del DOM

Punto de interrupción en el DOM

Paso a paso:

  1. Abrí DevTools y entrá a la pestaña Elements. 

  2. Buscá el elemento que querés monitorear (usando el selector Ctrl+Shift+C o navegando el árbol).

  3. Clic derecho sobre el elemento → Break on → elegí el tipo:

Tipo

Se dispara cuando…

Subtree modifications

Se agrega, elimina o mueve un nodo hijo, o cambia su contenido. 

Attribute modifications

Se agrega, elimina o modifica un atributo del elemento. 

Node removal

El nodo seleccionado es eliminado del DOM.

Al dispararse, DevTools pausa la ejecución de JavaScript y te lleva a la línea exacta en el panel Sources que causó la mutación, con el mensaje "Paused on DOM mutation"

Gestión de breakpoints activos:

  • Los ves listados en Elements → DOM Breakpoints (panel lateral) o en Sources → DOM Breakpoints. 

  • Desde ahí podés habilitar/deshabilitar con el checkbox, remover (clic derecho → Remove) o revelar el elemento en el DOM. 

Tip: si el elemento se crea dinámicamente y no existe aún, poné el breakpoint en un ancestro que sí esté presente (por ejemplo <body> o un contenedor fijo) y usá Subtree modifications.  También podés reducir la velocidad de red a "Slow 3G" en la pestaña Network para tener más tiempo de armar el breakpoint antes de que se cargue el contenido. 

Trabajando

¿Cómo depurar mutaciones de atributos específicos?

¿Qué es el DOM Breakpoint en React?

¿Cómo monitorear cambios en elementos dinámicos?


 

Comentarios