debugging - chrome - Depuración de scripts similares a greasemonkey
script greasemonkey (3)
Estoy escribiendo un código de JavaScript que se lee como una cadena y se ejecuta a través de eval () con una extensión de Firefox. Firebug "ve" mi script, así que no puedo usar puntos de interrupción, ver objetos, etc.
Actualmente estoy usando la consola de error de Firefox que estoy empezando a encontrar limitativa. ¿Cuáles son mis otras opciones? Idealmente, podría usar Firebug o algo similar. ¿Cómo la gente generalmente depura los scripts de Greasemonkey?
Intenté usar Lint y otros validadores, pero mi script utiliza muchos objetos y funciones proporcionados por el entorno de extensión, lo que hace que muchos de los errores sean irrelevantes. Además, la salida tiende a ser demasiado quisquilloso (enfoque de problemas de espaciado, etc.).
Creé una consola interactiva para depurar scripts de Greasemonkey. Requiere Google Gears, pero incluye un historial persistente de los comandos que se escribieron.
ACTUALIZACIÓN : Aquí hay un enlace a una publicación de blog que describe el uso de GreasyThug para depurar un script de GM. Tiene un procedimiento paso a paso para replicar un error y diseñar una solución.
Estoy usando este código para poder acceder a la página DOM usando jQuery (no es necesario para hacks inseguros de Windows) y registrar errores en la consola de Firebug:
(function(_, $){
try {
var GM_log = function(obj) { _.console.log(obj); }
// $("#my_div").reaplaceWith("hello world!");
// _.someFunctionDefinedInTheWebsite();
} catch(e) {
GM_log(e);
}
})(unsafeWindow, unsafeWindow.jQuery);
NOTA : este ejemplo asume que la página a la que está accediendo ya usa jQuery
Por lo que sé, Firebug admite la depuración de eval()
desde 1.1, específicamente para GreaseMonkey, puedes usar GM_log para el registro básico, también puedes encontrar útiles estas herramientas: