Atalho de teclado do Chrome para pausar a execução do script

48

Existe um atalho de teclado no Google Chrome que interrompe a execução do script? (Equivale a pressionar o botão ||"Pausar execução de script" no painel Scripts das Ferramentas do desenvolvedor.)

Eu gostaria de usar as Ferramentas de Desenvolvimento para inspecionar um elemento em seu estado de mouseover; mouseleaveobviamente, o código será executado se eu tentar realmente clicar no botão de pausa!

josh3736
fonte

Respostas:

56

Embora eu não tenha encontrado a solução exata para esse problema, criei uma linha que pode ser colocada em uma página (ou colada no console Javascript) para atingir meu objetivo:

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

Isso fará com que a execução seja pausada quando você pressionar F12.

( debuggeré uma instrução JavaScript que força um ponto de interrupção.)


Atualização: o Dev Tools possui muitos atalhos internos (pressione F1para obter uma lista), mas você deve estar focado na janela do Dev Tools para que funcionem. Pausar a execução do script é F8(ao olhar para a guia Fontes, no Chrome 45) ou Ctrl+ /.

A linha de cima acima ainda pode ser útil se você precisar manter o foco na página antes de fazer uma pausa.

josh3736
fonte
6
F8 só funciona quando você está na página "Fontes" no DevTools (Chrome 40)
netvope
1
CTRL + / funciona no Linux ou algo assim? Como CTRL + \ parece funcionar no Windows, e de acordo com outros, seria CMD + \ para MAC.
djabraham 15/09
1
O mesmo efeito, mas sem a necessidade de jQuery:window.addEventListener('keydown', e => { if (e.keyCode === 123) debugger })
pau.moreno
às vezes hotkeys evento fecha o elemento que deseja inspecionar, setTimeout(function() { debugger; }, 1000)ajuda aqui
cyptus
14

Listas de referência de atalhos de teclado do Google para "Pausar / retomar a execução do script":

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

Existem maneiras mais fáceis de inspecionar coisas em estados estranhos, como pairar ou ativo. Primeiro, encontre o nó DOM no painel Elementos das Ferramentas de Desenvolvimento do Chrome. Agora você pode clicar com o botão direito do mouse no nó e olhar para "Force Element State" no menu de contexto ou selecionar o nó e procurar na guia Styles e encontrar o ícone da caixa tracejada com o mouse no canto superior direito (ao lado do ícone + / mais, que permite adicionar uma nova regra de CSS ao element.styleelemento selecionado).

Quando você ativa um desses estados, a margem esquerda do painel de elementos recebe um pequeno círculo para indicar que você substituiu o estado natural do elemento nessa linha.

alxndr
fonte
3
O F8 não funciona na janela principal do navegador, apenas na janela Ferramentas de Desenvolvimento. O uso do Force Element State não ajuda quando é um script que escuta eventos (em vez de apenas CSS) que está fazendo coisas.
josh3736
3
O F8 funciona na janela principal do navegador, mas você precisa ter a janela Dev Tools aberta na guia Source em segundo plano.
reor
8

Eu escrevi uma pequena extensão rápida do Chrome que permite que você pressione o botão Pausar no teclado para pausar a execução de javascript

Como conseguir isso:

Uso:

  1. Mantenha as ferramentas de desenvolvedor do Chrome abertas
  2. Pressione pause/breakno seu teclado
SpareBytes
fonte
1
@ Flu, eu adicionei à Chrome Web Store. Aproveite
SpareBytes 8/14/14
Isso funcionou muito bem - pude fazer uma pausa para que eu pudesse examinar o HTML dinamicamente injetado na página. O uso das Ferramentas do desenvolvedor não funcionou porque o HTML estava sendo removido pelo código quando ele perdeu o foco.
Kenny Evitt
Meu teclado não possui um botão "Pausar / Interromper", então tive que mapeá-lo para uma tecla diferente. O que não foi imediatamente óbvio para mim é que você precisa manter pressionada a nova combinação de teclas AO clicar no botão "Salvar combinação".
Jasper Citi
0

Exercitando meu Google-fu, encontrei a lista oficial do Google de atalhos de teclado do Chrome

Não parece que haja alguém dedicado a isso. Você sempre pode escrever um plug-in que interpreta uma combinação de teclas como um botão de pausa, se desejar.

technowizard12
fonte