Wol*_*red 49 debugging firebug greasemonkey
我没有找到使用Firebug扩展调试Greasemonkey脚本的方法.
有谁知道如何做到这一点 ?
谢谢.
Bro*_*ams 24
Updatier: Mene + Shuman修复程序现在被Firefox 30和Firebug 2破坏了.Firefox 31 可能会提供解决方法(将进行调查).在此期间,请使用下面列出的"常规解决方法策略".
更新: 这个答案现在已经过时了.
如果打开about:config并
设置extensions.firebug.filterSystemURLs为false
then ,则可以使用Firebug调试Greasemonkey脚本,就像其他任何脚本一样.
无论@grant模式如何,这都有效.
老答案:
因为Greasemonkey在沙箱中运行,Firebug无法看到它.没有简单的方法可以解决这个问题.
一般的解决方法策略:
GM_首先在Firebug的JavaScript控制台中测试不使用函数的GM脚本的所有部分.最大限度地减少GM_功能的使用,根本不使用GM_log().
Firebug的console所有功能都可以在GM脚本中运行.
小智 8
var e = document.createElement("script");
e.src = 'http://www.xxxxxxxx.com/yyyyyyyy.js';
e.type="text/javascript";
document.getElementsByTagName("head")[0].appendChild(e);
Run Code Online (Sandbox Code Playgroud)
你可以将它添加到xxx.user.js,并将其安装在greasemonkey中.
然后,您可以根据需要调试您的js.
当前的Firefox和Firebug现在可以调试当前的Greasemonkey脚本,就像任何其他JavaScript一样.只需*.user.js在下拉菜单中找到您的脚本即可.控制台也可以工作.
这至少适用于Firefox 28.0和Firebug 1.12.7; 我没有尝试过早期版本.

注意:为了使其工作,您可能必须设置extensions.firebug.filterSystemURLs为false.请参阅Firebug中的"分析Greasemonkey脚本"错误跟踪器. (感谢舒曼)
这里没有其他解决方案对我有用,但是Jan Odvarko的关于如何调试Firefox扩展的答案也适用于GreaseMonkey脚本:
在Firefox 19或更高版本上,可以在浏览器本身上使用内置的JS调试器。转到about:config并设置以下两个首选项:
Run Code Online (Sandbox Code Playgroud)devtools.chrome.enabled: true devtools.debugger.remote-enabled: true重新启动浏览器后,可以通过工具> Web开发人员>浏览器工具箱访问浏览器调试器。
(请注意,您必须接受传入的连接)
详情请访问:https: //developer.mozilla.org/zh-CN/docs/Mozilla/Debugging/Debugging_JavaScript#JavaScript_Debugger
然后只搜索用户脚本的名称并开始调试。
如前所述,可以使用本机Firefox调试器完成此操作。以下是现代版本Firefox的说明。
在中设置以下首选项about:config:
devtools.chrome.enabled: true
devtools.debugger.remote-enabled: true
devtools.debugger.prompt-connection: false
Run Code Online (Sandbox Code Playgroud)
通过工具打开全局脚本调试器窗口 ?网站开发人员?浏览器工具箱?调试器(或Ctrl+ Shift+ Alt+ I)。
搜索用户脚本的名称并开始调试。
| 归档时间: |
|
| 查看次数: |
39855 次 |
| 最近记录: |