2012-03-22 7 views
29

Puse un punto de interrupción en javascript y estoy probando algunos códigos con Chrome. También agregué una expresión de reloj para el valor.¿Cómo copiar la variable javascript vista en Chrome?

Chrome se rompe en el punto de interrupción y muestra el valor. Sin embargo, el valor es muy largo y no lo muestra todo. Muevo el separador de ventana hacia la izquierda pero se detiene en la mitad de la pantalla. Cuando hago doble clic en la variable observada, quiere editar la expresión. Cuando hago un solo clic y lo arrastro, selecciona el texto visible, pero no todo. Hacer clic derecho no hace nada.

Esto es lo que veo

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

quiero copiar toda la expresión sin la ... al final. ¿Cómo puedo hacer eso?

Respuesta

9

Esto es lo que hago.

Editar: Esto funciona en las variables de ámbito que se encuentra debajo del panel Expresiones de observación.

  1. Haga doble clic en el valor para cambiar al modo de edición.

  2. Ctrl + A (ventanas) o Cmd + A (mac) para seleccionar el valor completo.

  3. Ctrl + C (o Cmd + C) para copiar.

+1

El doble clic edita la variable de expresión observada, es decir, url, no el valor – siamii

+3

aaaah, lo siento, leyó mal su publicación ... Lo hago en la sección Variables de alcance. Funciona allí .. – Ben

+1

Gracias, eso es suficiente, funciona en la sección de variables de alcance – siamii

27

Muestra la consola, luego escribe la expresión que se mostrará y presiona. Verá un valor total y podrá seleccionarlo y copiarlo.

Mientras el depurador está en pausa, esto funciona incluso con expresiones que involucran variables locales que están en el alcance en el punto de ejecución actual.

28

Agrego una respuesta tardía después de casi 3 años porque con las Herramientas de desarrollo de Chrome actuales, ninguno de los dos enfoques funciona si tiene una matriz o incluso una propiedad de objeto anidada en esa variable, siguiendo ambas respuestas terminará copiando una cadena con muchas cadenas Array[size] o Object entrelazadas en el valor real del objeto, completamente inútil para jerarquías de objetos complejos.

Los enfoques sugeridos son correctos si solo tiene que navegar manualmente por el valor pero no si necesita copiarlo como se solicita en la pregunta.

Lo que recomiendo en su lugar, especialmente si necesita copiar el valor observado para usarlo como el contenido de una nueva variable, es volcarlo en la consola después de que se ha convertido en una cadena.

Muestra la consola de Javascript y tipo:

console.log(JSON.stringify(my_watched_var)) 

De esta manera la estructura completa se mostrará en JavaScript puro, de una manera totalmente reutilizable/copiable.

+7

Creo que podrías mejorar esto usando 'copy()' en lugar de 'console.log()', que copia una cadena directamente en tu portapapeles. – hdgarrood

+0

¡Niza !, sería aún mejor si pudiera formatear las piezas copiadas en poco para agregar un salto de línea entre cada propiedad de la variable. Pude formatearlo usando el bloc de notas ++. Reemplazar todo "," con ", \ r \ n". – AXMIM

+1

'copy ()' también funcionó para mí en Firefox. :) – cxw

1

Mire esta respuesta "Is there a way to auto expand objects in Chrome Dev Tools?", itera a través de todas las propiedades de un objeto y muestra la jerarquía completa incluyendo el tipo de datos y los valores.

Útil si necesita comparar dos estados de una aplicación.consola de línea de comandos

16

Chrome DevTools' tiene una función incorporada 'copia':

copy(my_variable) 

Si el valor de my_variable no es una cadena, automáticamente se convierte a JSON. La cadena resultante se deja en el portapapeles del sistema para pegar.

Aquí está el reference doc.

+0

esto me ayudó especialmente para cadenas largas – lbsweek

Cuestiones relacionadas