Scorciatoia da tastiera di Chrome per mettere in pausa l'esecuzione dello script


48

Esiste una scorciatoia da tastiera in Google Chrome che interromperà l'esecuzione degli script? (Equivale a premere il pulsante ||"Pausa esecuzione script" nel pannello Script strumenti per sviluppatori.)

Vorrei usare Dev Tools per ispezionare un elemento nel suo stato di passaggio del mouse; il mouseleavecodice verrà ovviamente eseguito se provo a fare effettivamente clic sul pulsante Pausa!

Risposte:


56

Anche se non ho trovato la soluzione esatta a questo problema, ho creato una riga che può essere inserita in una pagina (o incollata nella console Javascript) per raggiungere il mio obiettivo:

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

Ciò causerà la sospensione dell'esecuzione quando si colpisce F12.

( debuggerè un'istruzione JavaScript che forza un breakpoint.)


Aggiornamento: Dev Tools ha molte scorciatoie integrate (premi F1per un elenco), ma devi essere concentrato nella finestra di Dev Tools affinché funzionino. La sospensione dell'esecuzione dello script è F8(quando si guarda la scheda Sorgenti, a partire da Chrome 45) o Ctrl+ /.

Il precedente one-liner potrebbe ancora essere utile se devi rimanere concentrato nella pagina prima di mettere in pausa.


6
F8 funziona solo quando ti trovi nella pagina "Sorgenti" di DevTools (Chrome 40)
netvope,

1
CTRL + / funziona su Linux o qualcosa del genere? Perché CTRL + \ sembra funzionare su Windows e secondo altri sarebbe CMD + \ per MAC.
Djabraham,

1
Lo stesso effetto ma senza richiedere jQuery:window.addEventListener('keydown', e => { if (e.keyCode === 123) debugger })
pau.moreno,

a volte i tasti di scelta rapida per eventi chiudono l'elemento che si desidera ispezionare, setTimeout(function() { debugger; }, 1000)aiuta qui
cyptus

14

Elenchi di riferimenti alle scorciatoie da tastiera di Google per "Metti in pausa / riprendi l'esecuzione dello script":

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

Ci sono modi più semplici per ispezionare le cose negli stati dispari come hover o attivo. Innanzitutto, trova il nodo DOM nel riquadro Elements di Chrome Dev Tools. Ora puoi fare clic con il pulsante destro del mouse sul nodo e guardare "Forza elemento elemento" nel menu di scelta rapida, oppure selezionare il nodo e guardare nella scheda Stili e trovare l'icona con la casella tratteggiata con il puntatore del mouse in alto a destra (accanto all'icona + / più che consente di aggiungere una nuova regola CSS element.style, l'elemento selezionato).

Quando attivi uno di questi stati, il margine sinistro del riquadro degli elementi diventa un piccolo cerchio per indicare che hai sovrascritto lo stato naturale dell'elemento su quella linea.


3
F8 non funziona nella finestra principale del browser, solo nella finestra Dev Tools. L'uso di Force Element State non aiuta quando si tratta di uno script che ascolta eventi (anziché solo CSS) che fa cose.
josh3736,

3
F8 funziona nella finestra principale del browser ma devi avere la finestra Dev Tools aperta sulla scheda Origine in background.
dal

8

Ho scritto una piccola estensione di Chrome che ti consente di premere il pulsante Pausa sulla tastiera per mettere in pausa l'esecuzione di JavaScript

Come ottenerlo:

Uso:

  1. Tieni aperti gli strumenti per sviluppatori di Chrome
  2. Premi pause/breaksulla tastiera

1
@Flu, l'ho aggiunto al Chrome Web Store. Goditi
SpareBytes l'

Ha funzionato alla grande: sono stato in grado di mettere in pausa in modo da poter esaminare l'HTML iniettando dinamicamente nella pagina. L'uso degli strumenti per sviluppatori non ha funzionato perché il codice HTML è stato rimosso dal codice quando ha perso il focus.
Kenny Evitt,

La mia tastiera non ha un pulsante "Pause / break", quindi ho dovuto mapparlo su un altro tasto. Ciò che non è stato immediatamente ovvio per me è che è necessario tenere premuta la nuova combinazione di tasti MENTRE si fa clic sul pulsante "Salva combo".
Jasper Citi,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.