¿Existe una herramienta para alterar dinámicamente la ejecución de javascript en un navegador? [cerrado]

StackOverflow https://stackoverflow.com/questions/255785

  •  05-07-2019
  •  | 
  •  

Pregunta

¿Existe una herramienta para modificar dinámicamente la ejecución de javascript en un navegador? Por ejemplo, para cambiar los valores de las variables de javascript durante el tiempo de ejecución.

¿Fue útil?

Solución

Firebug, o Venkman Javascript Debugger.

Otros consejos

Entonces, Firebug realmente es una de las mejores opciones, o si eres un desarrollador que posee Visual Studio y quieres depurar usando IE, puedes hacerlo. Asumamos que harás esto con Firebug usando Firefox.

Primero, determine dónde desea modificar el código y coloque la siguiente línea justo antes de la línea con la que desea comenzar a jugar:

debugger;

Eso hará que Firebug detenga la ejecución de la secuencia de comandos en ese punto, momento en el que puede pasar por el código y modificar los valores de las variables.

También puede usar Firebug para colocar puntos de interrupción haciendo clic a la izquierda de una línea de código en la ventana de script de Firebug:

Firebug Breakpoint Screenshot

Busque en el shell de javascript aquí . Es como un depurador en tu navegador. Puede ejecutar / alterar cualquier función javascript en el objeto de documento activo.

Muy ingenioso para la depuración / manejo de javascript de otras personas, en sitios donde no tiene acceso a la fuente / servidor.

¿Mencioné que tiene tabulación? es impresionante.

Opera 9 viene ahora con Dragonfly (equivalente a FireBug), y he entendió que, también, puede editar JavaScript sobre la marcha. Al menos es una función que viene, si no han tenido tiempo de incluirla, de todos modos.

Echa un vistazo a Firebug

Como lo mencionaron otros, Firebug te permite establecer puntos de interrupción en tu JavaScript (aunque no he tenido mucho éxito al alcanzar los puntos de interrupción cuando mi JavaScript está EN UN documento HTML en lugar de un archivo externo) que interrumpirá la ejecución de una función durante el tiempo de ejecución.

También le permite ver los objetos DOM y todas las propiedades (que incluyen sus variables de JavaScript).

También hay una versión Lite de Firebug que funcionará en navegadores que no sean Firefox.

Mozdev tiene una herramienta llamada MozREPL . No solo puede alterar y redefinir el código sobre la marcha, sino que también puede acceder al código del navegador subyacente. Es realmente genial.

Abre un puerto en su computadora y le permite adjuntar una sesión de telnet (solo desde el host local) para comenzar a ejecutar el código. También puedes abrir ese puerto a conexiones que no sean de localhost ... (pero cuidado, eso es bastante inseguro y peligroso, etc.).

Viene con un modo menor de emacs que te permite enviar varias regiones de texto directamente a mozdev, y proporciona un modo de interacción muy agradable. Lo amplié aún más para establecer los puntos de ruptura de Firebug desde emacs y lanzar pruebas de selenio. Básicamente puedo escribir mi navegador desde mi editor. Es genial. En algún momento pronto voy a liberar el código fuente.

JavaScript tiene una función eval (), puedes construir tu cadena y luego ejecutarlo.

<script type="text/javascript" language="javascript">
  example = function() {alert('first');}
  example();
  eval("example = function() {alert('second');}");
  example();
</script>

El código anterior es un ejemplo de cómo se puede usar eval para cambiar el código existente.

@eyelidlessness, esto muestra que puede cambiar el código existente. Su edición de la pregunta aclara la pregunta original, pero, por lo tanto, hace que mi respuesta parezca invaluable, pero en el momento en que se publicó originalmente era un punto válido, el póster original debería haber aclarado la pregunta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top