13

Quando aggiungo il punto di interruzione dell'evento del mouse, devtools salta sempre nel JS dell'estensione.Come disabilitare le estensioni chrome di JS durante il debugging in devtools?

C'è un modo per puntare direttamente al mio codice evento del mouse?

+0

Penso che un chiarimento possa aiutare qui. Cosa intendi con "indicare direttamente il codice evento del mio mouse"? – ronme

+1

@ronme supponiamo che sto eseguendo il debug di alcuni js della pagina, ascoltando tutto l'evento del mouse, devtools mostrerà il gestore mousedown registrato nel codice js dell'estensione. C'è un modo per mostrare direttamente il gestore del mouse in js della pagina? – barcahead

+0

nel debugger, dovresti essere in grado di scegliere quale file js stai guardando. Una volta scelto il file js della pagina, dovresti essere in grado di impostare lì un punto di interruzione. Non funziona? – ronme

risposta

0

Prima di tutto, probabilmente si dovrebbe rivedere il tutorial su come eseguire il debug estensioni Chrome qui:

http://code.google.com/chrome/extensions/tut_debugging.html

In caso di dubbio, si può sempre utilizzare la parola chiave debugger direttamente nel codice JavaScript in cui si desidera avviare il debugger da, in questo modo:

element.addEventListener("mouseover", function() { 
    debugger; 
    // some JS handler code... 
}); 

a seconda se il vostro JS è in una pop-up, lo sfondo della pagina, o in uno script di contenuti, sarà necessario fare in modo che si avvia gli strumenti di sviluppo da destra pl asso.

Per un pop-up, è necessario fare clic destro sull'icona dell'estensione e "Inspect Popup" e poi dalla console JavaScript si avrebbe bisogno di eseguire location.reload(true)

Per una pagina di sfondo, è necessario andare alle estensioni pagina delle impostazioni, chrome://settings/extensions, attivare la modalità sviluppatore, espandere l'estensione in questione e fare clic sul collegamento della pagina di sfondo.

Lo script di contenuto dovrebbe essere visibile direttamente dalla pagina in cui è stato caricato.

+3

Non sta chiedendo come eseguire il debug delle estensioni. Chiede come * impedire * al debugger di accedere alle estensioni quando esegue il debug delle normali webapp. –

11

Penso che il modo più semplice è quello di aprire un incognito finestra (Ctrl-Shift-N) (o Cmd-Shift-N per Mac) e il debug in là, perché allora non ci saranno le estensioni caricato (per impostazione predefinita).

So cosa intendi con questa domanda: quando esegui il debug e fai qualcosa di semplice come interrompere l'esecuzione, trovi sempre che si rompe in uno dei codici dell'estensione anziché nel codice della pagina web corrente.

10

L'unico modo per disabilitare lo script (ad esempio per evitare effetti collaterali) è disattivando l'estensione (ad esempio, utilizzando la modalità di navigazione in incognito se l'estensione non è abilitata in modalità in incognito).

Se non ti dispiace eseguire gli script, ma vuoi ignorare il codice di estensione, puoi utilizzare lo script blackboxing feature of Chrome's devtools.

Se non avete mai sviluppare estensioni e non siete interessati a fare un passo attraverso di essa, quindi aprire il menu delle impostazioni dei DevTools, cliccare su Blackboxing e quindi la casella di controllo "Blackbox script di contenuti":

Se si desidera ignorare solo i file in modo selettivo, è anche possibile fare clic con il pulsante destro del mouse sull'origine del file che si desidera ignorare e fare clic sull'opzione di menu "Script di Blackbox". Per rimuovere il pattern, vai al pannello delle impostazioni "Blackboxing" come mostrato sopra.