如何在Firefox 30上调试Greasemonkey脚本?

我一直在为Youtube开发一个JavaScript代码片段,它使用Greasemonkey,还可以导入Bootstrap和jQuery库。 此应用程序必须为每个搜索列表结果添加一个按钮,当用户单击它时,它必须从用户的频道中带来用户上传的video。 我已经测试了按钮,它在Firefox 29上运行良好。

尽管如此,最近我将Firefox更新到版本30,现在我无法查看/调试我编写的代码,尽管Firefox执行它。 我想知道,这个问题是否有任何解决方案?

如果您希望看到以下代码:

// ==UserScript== // @name Requerimiento2-2-Guille.user.js // @description Rodrigo // @include http://www.youtube.com/* // @include https://www.youtube.com/* // @grant none // ==/UserScript== /* Here it's the Bootstrap and jQuery code pasted (I know it should be done with an include).*/ var boton=''; $(function(){ iniciarScript(); }); function iniciarScript(){ $("#search-results li.yt-lockup div.yt-lockup-content").before(boton); $("#verVideos").click(mostrarVideosUsr); } function mostrarVideosUsr(){ alert("Se pulso el boton!"); } 

PD:我尝试用其他用户配置文件启动Firefox,但它一直无法正常工作。

实际上我发现它(v.42)的唯一方法是使用远程调试系统。 如果要重现:

  1. 创建一个没有插件的配置文件,以显着提高速度。
  2. 安装greasemonkey插件就可以了。
  3. 使用远程调试: https : //developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_Firefox_Desktop
  4. 使用另一个firefox配置文件启动webIDE,在调试相同的配置文件时没有成功。
  5. 远程调试1中的配置文件。选择“打开应用程序”>“RUNTIME APPS”,选择主进程。

您的脚本将显示在“file://”下的调试器选项卡中。 你将能够设置断点,间谍,……

或者,如果您只是想调试脚本,那么您可以将Chrome与Tampermonkey一起使用 。

Tampermonkey的工作方式几乎与Greasemonkey相同,所以如果你的脚本在Tampermonkey上工作,那么它应该适用于Greasemonkey。

请记住,如果从文件系统安装,则需要启用Tampermonkey的访问权限。 请参阅常见问题解答中的video,了解如何启用此function: http : //tampermonkey.net/faq.php#Q204