2011-09-08 21 views
18

¿Hay alguna manera de modificar el código JavaScript durante la depuración? Visual Studio tiene "Editar y Continuar", y se puede hacer un intercambio similar de código en Java y otros idiomas. ¿Se puede hacer esto con JavaScript y, de ser así, cómo?¿Cómo modificar el código de JavaScript en tiempo de ejecución?

+1

Puede en el depurador de Chrome, consulte la respuesta superior en http://stackoverflow.com/questions/5067532/editing-in-chrome-debugger –

+0

@Adam: ¡publíquelo como una respuesta! – icktoofay

+0

¡Lo hice! ¡Fue marcado como trivial y convertido a un comentario! No estoy seguro de cómo marcar la pregunta como una víctima :( –

Respuesta

11

Chrome, Safari y algunos otros navegadores basados ​​en WebKit contienen una función en el Web Inspector conocida como Live Edit. Si va al panel de Scripts y se detiene en un punto de interrupción (o tal vez incluso si no se detiene en un punto de interrupción, no estoy seguro), puede hacer doble clic en una línea y comenzar a editar esa línea. Los cambios que realice tendrán efecto en el script.

+3

¿Estás seguro? ¡La edición en vivo está rota en google chrome por alrededor de 2 años! – puchu

+3

@puchu: Tienes razón, parece que ya no funciona. Funcionó cuando publiqué la respuesta hace cuatro años ... – icktoofay

2

Si estás hablando de depuración, es muy fácil modificar el código de ejecución. En su consola de depuración, puede ingresar expresiones de Javascript y se ejecutará en el contexto de la ventana, que contiene todos los objetos y funciones de su código, para que pueda intercambiarlos redefiniéndolos.

9

Con las herramientas de desarrollo de Chrome, esto es muy fácil.

Solo abre el inspector abierto, haz clic en la pestaña scripts, selecciona cuál deseas del menú desplegable y luego podrás editar la secuencia de comandos y agregar puntos de corte. Si actualiza la página, sus puntos de interrupción permanecerán allí.

Si usted mira esta charla, pero Paul irlandesa, que muestra cómo se puede editar un guión sobre la marcha

http://paulirish.com/2011/a-re-introduction-to-the-chrome-developer-tools/

también es bueno:

http://blip.tv/jsconf/jsconf2011-paul-irish-5382827

+2

Hay [Firebug] (http://getfirebug.com/) para el navegador Firefox. – sanmai

+0

Sí, firebug también es muy bueno :) – wesbos

+1

Ok No vi el video, pero sé cómo usar la consola para ejecutar javascript sobre la marcha y cambiar la definición de una función sobre la marcha. Pero esto no es lo que deseo. Me gustaría poder editar el script desde la consola del depurador, tal como podría hacerlo en mi editor de JavaScript favorito. ¿Es eso posible? – theninjagreg

0

Como JavaScript puede modificar el DOM, esencialmente tiene que cambiar el archivo de JavaScript, guardarlo y volver a cargarlo. Para mí, me gusta IE, así que ejecuto la página web en un navegador que NO ESTÁ EN EL MODO DE DEPURACIÓN. Luego puede cambiar los archivos de script, GUARDARlos. vuelva al navegador y vuelva a cargar (F5) para ver sus cambios. Supuestamente IE 11 tiene esta habilidad (probablemente como Chrome, que es esencialmente lo que estoy haciendo, cambiando la recarga de almacenamiento de lo que puedo decir) pero no puedo conseguir que encuentre, y mucho menos abrir un archivo js. Súper pobre UI. Supongo que el navegador para abrir el ícono del archivo es enter image description here pero siempre está atenuado.

Cuestiones relacionadas