2013-05-16 6 views
15

Desidero eseguire il debug del mio codice javascript e in grado di posizionare correttamente i punti di interruzione nelle posizioni richieste nella scheda delle fonti.Come aggiungere punti di interruzione nel javascript in linea in chrome

Tuttavia, ho riscontrato un problema in cui desidero eseguire il debug del mio codice javascript in linea. Abbiamo qualche funzione di debug di chrome che usa il quale posso eseguire il debug del mio codice javascript in linea.

Sto bene anche con Firebug per scopi di debug.

PS: Per codice javascript in linea, intendo codice JS all'interno di tag body e nello stesso file.

+1

Si sta utilizzando l'istruzione 'debugger;'? –

+1

Non voglio modificare il mio codice per scopi di debug perché in un secondo momento ho bisogno di rimuovere anche queste linee di debug. Quindi sto pensando a una soluzione per chiedere al browser di fermarsi ai punti di interruzione proprio come si ferma nella scheda sorgente. – sachinjain024

+0

possibile duplicato di [Come impostare il punto di interruzione in Javascript in linea nel browser Google Chrome per Linux?] (Http://stackoverflow.com/questions/5156388/how-to-set-breakpoint-in-inline-javascript-in-google -chrome-browser-per-linux) –

risposta

38

Un altro modo può essere utilizzato il metodo di scrittura dinamica. Chrome fornisce un semplice comando parser che può taggare il JS caricato dinamicamente.

<script type="text/javascript"> 
[...] 
//# sourceURL=dynamicScript.js 
</script> 

Questa linea dice il debugger cromata che tutto questo script all'interno del tag script deve essere interpretato come un file dynamicScript.js. È possibile trovare il file nell'elenco di debugger e impostare facilmente i punti di interruzione o controllare il codice.

Nota: @ viene sostituito da # per evitare errori sui browser supportati

Breakpoints in Dynamic JavaScript

+1

Si noti che [risposte solo per collegamento] (http: //meta.stackoverflow.com/tags/link-only-answers/info) sono scoraggiati, per cui le risposte dovrebbero essere il punto finale di una ricerca di una soluzione (a confronto con un altro scalo di riferimento, che tende a diventare obsoleto nel tempo). Si prega di considerare l'aggiunta di una sinossi autonoma qui, mantenendo il collegamento come riferimento. – kleopatra

+0

@fazzyx Grazie per il link. Sono anche d'accordo con kleopatra riguardo alle risposte come end point della ricerca. Quindi o dovresti aggiornare la tua risposta con il contenuto pertinente o semplicemente inserire il link nel commento. – sachinjain024

+0

Grazie per la nota. Ho aggiornato la risposta. – fazzyx

1

Ho trovato la soluzione. Possiamo anche inserire breakpoint su javascript in linea.

Soluzione:

  • Vai alla fonte scheda in strumento di dev cromo e si possono vedere tutte le fonti lì.
  • Il codice HTML sarà presente con la stessa struttura della directory così come viene seguita nell'URL.
  • E poi si può aprire il codice HTML e il luogo punto di interruzione nel codice javascript inline
+1

È possibile inserire punti di interruzione e funziona, ma quando lo script è all'interno del tag template il cromo semplicemente li ignora e sfortunatamente non mette in pausa lo script nei punti di interruzione. – Eddie

1

@blunderboy Se avete seguito il tipo di JS comprende all'interno del tag BODY non potrà mai presentarsi nella struttura di directory, quindi in tal caso la tua soluzione non funzionerà.

<div> 
<script src="myJSfile.js"> 
</script> 
</div> 

questo accade nella telefonia mobile jQuery in cui tutto al di fuori di una pagina div non viene caricato, quindi bisogna includere JS all'interno della pagina div.

Avrei contrassegnato la risposta da @fazzyx come risposta corretta in quanto è come almeno chrome mostrerebbe anche quei file inclusi.