2012-03-22 10 views
29

Inserisco un breakpoint in javascript e sto testando del codice con Chrome. Ho anche aggiunto un'espressione di watch per il valore.Come copiare la variabile javascript guardata in Chrome?

Chrome si rompe nel punto di interruzione e mostra il valore. Tuttavia, il valore è molto lungo e non viene visualizzato tutto. Sposto il separatore di finestre a sinistra ma si ferma a metà schermo. Quando faccio doppio clic sulla variabile guardata, vuole modificare l'espressione. Quando clicco e trascino su di esso, seleziona il testo visibile, ma non tutto. Il clic destro non fa nulla.

Questo è quello che vedo

url: "m=mtgoxUSD&SubmitButton=Draw&r=&i=&c=0&s=&e=&Prev=&Next=&t=S&b=&a1=&m1=10&a2=&m2=25&x=0... 

voglio copiare l'intera espressione senza l'... alla fine. Come lo posso fare?

risposta

9

Ecco cosa faccio.

Modifica: Questo funziona nelle variabili Ambito che si trova sotto il pannello Espressioni di controllo.

  1. Fare doppio clic sul valore per passare alla modalità di modifica.

  2. Ctrl + A (Windows) o Cmd + A (mac) per selezionare l'intero valore.

  3. Ctrl + C (o Cmd + C) da copiare.

+1

Il doppio clic modifica la variabile dell'espressione osservata, cioè l'url, non il valore – siamii

+3

aaaah, mi spiace, ho letto male il tuo post .. Lo faccio nella sezione Variabili dell'oscilloscopio. Funziona lì .. – Ben

+1

Grazie, è abbastanza buono, funziona nella sezione variabili scope – siamii

27

Mostrare la console, quindi digitare l'espressione da visualizzare e premere. Vedrai tutto il valore e sarai in grado di selezionarlo e copiarlo.

Mentre il debugger è in pausa, funziona anche con espressioni che coinvolgono variabili locali che rientrano nel punto corrente di esecuzione.

28

Aggiungo una risposta in ritardo dopo quasi 3 anni perché con gli attuali strumenti di sviluppo di Chrome, nessuno dei due metodi funziona se si dispone di una matrice o anche solo di una proprietà Object nidificata in quella variabile, in seguito a entrambe le risposte si concluderà Copia di una stringa con un sacco di Array[size] o Object stringhe interlacciate nel valore dell'oggetto reale, completamente inutili per le gerarchie di oggetti complesse.

Gli approcci suggeriti sono ok se devi solo navigare manualmente nel valore ma non se devi copiarlo come richiesto nella domanda.

Quello che raccomando invece, soprattutto se è necessario copiare il valore visto per usarlo come contenuto di una nuova variabile, è di scaricarlo in console dopo che è stato modificato.

Mostra la console Javascript e digitare:

console.log(JSON.stringify(my_watched_var)) 

In questo modo l'intera struttura sarà visualizzato in puro JavaScript, un modo completamente riutilizzabile/copiabile.

+7

Penso che potresti migliorare ulteriormente usando 'copy()' invece di 'console.log()', che copia una stringa direttamente negli Appunti. – hdgarrood

+0

Nice !, sarebbe ancora meglio se potesse formattare i pezzi copiati al minimo per aggiungere un'interruzione di riga tra ogni proprietà della variabile. Sono stato in grado di formattarlo usando Notepad ++. Sostituisci tutti "," con ", \ r \ n". – AXMIM

+1

'copy ()' ha funzionato anche per me in Firefox. :) – cxw

16

Chrome DevTools' ha una funzione built-in "copia":

copy(my_variable) 

Se il valore di my_variable non è una stringa, verrà automaticamente convertito in JSON. La stringa risultante viene lasciata negli appunti di sistema per incollare.

Ecco lo reference doc.

+0

questo mi è stato di aiuto soprattutto per la stringa lunga – lbsweek

Problemi correlati