【问题标题】:Debugging new Mozilla WebExtension API调试新的 Mozilla WebExtension API
【发布时间】:2015-08-28 09:16:32
【问题描述】:

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

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • DevPrefs 插件似乎已被放弃——任何当前答案?
    【解决方案2】:

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

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

    打开浏览器工具箱,聚焦调试器选项卡,等待源加载,然后触发您的代码到达这些语句。照常进行。

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

    但是,Firefox 一直受到各种code cache issues 的困扰,因此禁用和重新启用您的插件可能不会产生任何变化。您最好的选择是每次都重新启动浏览器。还有一个discussion to support live reload

    【讨论】:

      【解决方案3】:

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

      一旦您的 Firefox 启用了“启用浏览器 chrome 和附加调试工具箱”和“启用远程调试”选项,您就可以使用 Ctrl + Alt +Shift + I 组合键来访问它。

      【讨论】:

        猜你喜欢
        • 2022-06-29
        • 2018-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-24
        相关资源
        最近更新 更多