yawn racer pro precio fast enunclik enunclick cooler blast javascript javascript-events firebug

racer - Captura el código JavaScript específico que se está ejecutando enClick



enunclick com yawn air (5)

Estoy trabajando en un sitio que tiene un montón de JavaScript heredado y jquery incluye y no hay documentación para mostrar lo que está sucediendo cuando.

Tengo un problema específico que corregir y no puedo encontrar el código relevante que se está ejecutando cuando se hace clic en un botón. Para evitar que rastree (y tenga sentido) cientos de líneas de script heredado, ¿hay alguna característica, posiblemente en Firebug, que identifique qué script se está ejecutando cuando hago clic en un botón?

Gracias por tu ayuda.


En Firebug puedes establecer un punto de interrupción en algunos JS y luego obtienes un stack que te permitirá conocer la pila de llamadas a la función actual. Entonces, si configura el punto de interrupción en función utilizada por varios manejadores, puede usar esto para descubrir exactamente en qué manejador se encuentra.

Esto probablemente no funcionará si está tratando con devoluciones de llamada AJAX y similares.


Puede hacer clic en el botón "Romper en el siguiente" de Firebug (en la pestaña Script, se ve como un botón de pausa), luego presione el botón que desea depurar.

La próxima vez que se ejecute cualquier código JavaScript, Firebug irrumpirá en el depurador y le mostrará esa línea de código.


Creo que hay una característica en la ventana de consola de Firebug llamada Profile . Haga clic en el perfil, haga clic en el botón y luego en el perfil nuevamente. Debería darte lo que todas las funciones fueron llamadas en ese momento. Tenga en cuenta que si este código incluye jQuery, es posible que obtenga una gran lista larga de funciones porque jQuery usa toneladas en su código. Lamentablemente, el generador de perfiles también mostrará funciones anónimas, lo que realmente puede ser un problema.

De lo contrario, haga una búsqueda en el código de la clase o ID del botón y acceda a ellos. Si tiene una identificación de fancy entonces puede hacer una búsqueda de #fancy en su código e intentar encontrarla. Eso puede conducirte en una dirección general , al menos.


El botón de interrupción no funcionó para mí. En cambio, edité el atributo onclick con FireBug y lo antepuse con "depurador"; ... luego romperás ahí mismo una vez que hagas clic :)


Ninguna de las respuestas anteriores funcionó para mí. Intento utilizar Firebug para descubrir cómo funciona una característica en una página para un sitio sobre el que no tengo control. Esto es lo que funcionó para mí.

En primer lugar, obtuve el id del elemento con el que estoy haciendo clic desde el origen de la página, y luego obtengo una referencia temporal al crear un reloj (en la pestaña del script):

tmp=document.getElementById("idOfElement")

Luego, asigné el valor onclick actual a otra variable temporal.

oldfunc=tmp.onclick

Luego, definí una nueva función onclick. Inicialmente intenté poner debugger; como lo primero en la función, pero esto no funciona! Entonces, en cambio, creé una alerta:

tmp.onclick = function() { alert("Ok"); oldfunc() }

Ahora, tan pronto como hago clic en el botón, aparece la alerta, momento en el que hago clic en el botón "Interrumpir al siguiente" como se indica en otra respuesta a esta pregunta. Luego descarto la alerta e inmediatamente estoy en el depurador en el lugar correcto.

En mi caso, el botón "Interrumpir al siguiente" no funcionó por sí solo, porque hay muchos otros eventos, solo el desplazamiento sobre la página estaba causando el punto de interrupción, impidiendo que haga clic en el botón.