quantum loop event español activar javascript jquery javascript-events firefox-addon javascript-debugger

español - event loop javascript



Utilizando Firefox, ¿cómo puedo monitorear todos los eventos de JavaScript que se activan? (3)

Creo que esto no existe en Firebug, y el problema subyacente es la falta de apoyo o la falta de exposición a nivel de api. Alternativamente, solo hay algunas formas de suscribirse a los eventos de DOM: Element.prototype.addEventListener (y window.addEventListener y document.addEventListener y XMLHttpRequest.addEventListener y otros) además de las propiedades "excepcionales" que son observables e interceptables.

Pero de manera realista, el depurador de WebKit y el depurador de Chromium (que son webkit con puntos adicionales) permiten a uno depurar y observar a los oyentes adjuntos. A veces es más fácil depurar los errores de un navegador en otro navegador con una mejor exposición del estado de la aplicación / tiempo de ejecución, incluso cuando ese navegador no presenta el error.

https://developers.google.com/chrome-developer-tools/docs/elements

Estoy intentando depurar una página web que hace un uso intensivo de los eventos de JavaScript, por lo que necesito monitorear todos los eventos de JavaScript que se activan.

La mayoría de los eventos están vinculados usando jQuery. Por lo tanto, sería particularmente útil si hubiera una manera de monitorear específicamente solo esos eventos.


Esto se introdujo hace algunas versiones, pero a partir de Firefox 35 los eventos asociados con un elemento se pueden ver en el Inspector: junto al elemento en el que desea ver los eventos (en caso de que haya alguno), aparecerá un icono con el símbolo '' Letras EV ''. Haga clic en él y verá una pequeña ventana emergente con los eventos para ese elemento.

Más información: http://flailingmonkey.com/view-dom-events-in-firefox-developer-tools/


Por supuesto, puedes hacerlo bien con Firebug , la consola y la pestaña de scripts, donde puedes agregar puntos de interrupción y relojes, pero obviamente quieres hacerlo de forma más inteligente y sencilla.

Hay un complemento de Firebug limpio llamado EventBug que simplemente registra todos los eventos y los agrupa por tipo de evento para que pueda expandirse y ver qué los activó.

EventBug no lo hace en tiempo real, aunque tienes que actualizar.

Otra forma es usar la función ''Log Events'' contra cualquier elemento DOM en Firebug. Esto lo hace en tiempo real y también puede ver qué eventos de orden se activan / activan.

Prueba esto:

  • Toggle open Firebug
  • Haga clic derecho en el elemento en la pestaña HTML, si desea ver todos los eventos, haga clic derecho en <body>
  • Elija Log Events en el menú contextual
  • Asegúrate de que la pestaña de la Consola esté habilitada
  • Haga clic para habilitar el modo ''Persistir'' en la pestaña Consola (de lo contrario, la pestaña Consola se borrará después de que se recargue la página)
  • Puede que tenga que seleccionar Closed (manualmente)
  • Voila! Ver eventos en la pestaña de la consola

Esto es lo que ves con los eventos de registro:

También vale la pena probar el complemento FireQuery para Firebug para ver qué elementos del DOM tienen eventos jQuery adjuntos y cuáles son.

Y como la respuesta de Benvie menciona, esto también es posible en las herramientas de desarrollo de webkit.