调试新的Mozilla WebExtension API

时间:2015-08-28 09:16:32

标签: google-chrome firefox google-chrome-extension firefox-webextensions

我正在尝试使用新的Mozilla WebExtension APIChrome扩展程序移植到Firefox。问题是使用Chrome我可以单独调试后台页面和弹出窗口。此外,每次打开弹出窗口时都会运行 popup.js 脚本,并且可以使用 Ctrl + R ...重新加载 background.js 。我不知道如何在Firefox中执行此操作。我甚至不知道它是否可能。据我所知,两个脚本( background.js popup.js )仅在重新启动浏览器时执行(不是吗?)。

任何人都知道如何解决这些问题,或者是调试用WebExtension API编写的Firefox扩展的好方法吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

不幸的是,调试WebExtensions目前很痛苦。一个related bug

此时您唯一能做的就是使用debugger;语句在代码中设置断点。您需要的调试器是Browser Toolbox

打开浏览器工具箱,关注调试器选项卡,等待加载源,然后触发代码以达到这些语句。像往常一样继续。

至于重新加载内容,浏览器操作为supposedly fixed,每次禁用并重新启用插件时都会执行后台操作。

然而,Firefox因各种code cache issues而受到影响,因此永远禁用并重新启用您的插件可能无法获取任何更改。您最好的选择是每次都重新启动浏览器。还有discussion to support live reload

答案 1 :(得分:1)

您是否尝试使用浏览器工具箱? https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox

一旦您的Firefox具有"启用浏览器镶边和附加调试工具箱"和"启用远程调试"启用选项后,您可以使用Ctrl + Alt + Shift + I组合键访问它。

答案 2 :(得分:1)

最新版本的Firefox(例如49)具有更强大的WebExtension调试工具和recent docs on MDN explain how to use them。您需要the Browser Toolbox,并且您可能希望set up a custom Firefox profile默认启用浏览器工具箱(或已安装DevPrefs addon)。

相关问题