Método abreviado de teclado de Chrome para pausar la ejecución del script

48

¿Hay un método abreviado de teclado en Google Chrome que interrumpirá la ejecución del script? (Equivalente a presionar el ||botón "Pausar la ejecución del script" en el panel Scripts de Developer Tools).

Me gustaría usar las herramientas de desarrollo para inspeccionar un elemento en su estado de mouseover; mouseleaveObviamente, el código se ejecutará si intento hacer clic en el botón de pausa.

josh3736
fuente

Respuestas:

56

Si bien no he encontrado la solución exacta a este problema, se me ocurrió una línea que se puede poner en una página (o pegar en la consola de Javascript) para lograr mi objetivo:

jQuery(window).keydown(function(e) { if (e.keyCode == 123) debugger; });

Esto hará que la ejecución se detenga cuando golpees F12.

( debuggeres una declaración de JavaScript que fuerza un punto de interrupción).


Actualización: Dev Tools tiene muchos accesos directos integrados (presione F1para obtener una lista), pero debe centrarse en la ventana Dev Tools para que funcionen. Pausar la ejecución del script es F8(al mirar la pestaña Orígenes, a partir de Chrome 45) o Ctrl+ /.

La línea anterior puede seguir siendo útil si necesita mantenerse enfocado en la página antes de hacer una pausa.

josh3736
fuente
66
F8 solo funciona cuando estás en la página "Fuentes" en DevTools (Chrome 40)
netvope
1
¿CTRL + / funciona bajo Linux o algo así? Debido a que CTRL + \ parece funcionar en Windows y, según otros, sería CMD + \ para MAC.
djabraham
1
El mismo efecto pero sin requerir jQuery:window.addEventListener('keydown', e => { if (e.keyCode === 123) debugger })
pau.moreno
teclas de acceso rápido a veces evento cierra el elemento que desea inspeccionar, setTimeout(function() { debugger; }, 1000)ayuda aquí
cyptus
14

Métodos abreviados de teclado de Google Listas de referencia para "Pausar / reanudar la ejecución del script":

  • F8o Ctrl+ \(Windows)
  • F8o Cmd+ \(Mac)

Hay formas más fáciles de inspeccionar cosas en estados extraños, como pasar el mouse o activo. Primero, busque el nodo DOM en el panel Elementos de Chrome Dev Tools. Ahora puede hacer clic con el botón derecho en el nodo y mirar el "Estado del elemento de fuerza" en el menú contextual, o seleccionar el nodo y buscar en la pestaña Estilos y encontrar el icono de puntero de cuadro punteado en la esquina superior derecha (junto al ícono + / más que le permite agregar una nueva regla CSS al element.styleelemento que seleccionó).

Cuando activa uno de estos estados, el margen izquierdo del panel de elementos obtiene un pequeño círculo para indicar que ha anulado el estado natural del elemento en esa línea.

alxndr
fuente
3
F8 no funciona en la ventana principal del navegador, solo en la ventana Dev Tools. Usar Force Element State no ayuda cuando es un script que escucha eventos (en lugar de solo CSS) que está haciendo cosas.
josh3736
3
F8 funciona en la ventana principal del navegador, pero debe tener la ventana Herramientas de desarrollo abierta en la pestaña Fuente en segundo plano.
reor
8

Escribí una pequeña extensión rápida de Chrome que le permite presionar el botón Pausa en su teclado para pausar la ejecución de JavaScript

Cómo conseguirlo:

Uso:

  1. Mantenga abiertas las herramientas de desarrollador de Chrome
  2. Presione pause/breaken su teclado
SpareBytes
fuente
1
@Flu, lo agregué a Chrome Web Store. Disfrute
SpareBytes
Esto funcionó muy bien: pude hacer una pausa para poder examinar HTML inyectar dinámicamente en la página. El uso de las Herramientas para desarrolladores no funcionó porque el código estaba eliminando el código HTML cuando perdió el foco.
Kenny Evitt
Mi teclado no tiene un botón "Pausa / pausa", por lo que tuve que asignarlo a una tecla diferente. Lo que no era obvio para mí es que debe mantener presionada la nueva combinación de teclas MIENTRAS hace clic en el botón "Guardar Combo".
Jasper Citi