【问题标题】:Firefox disable the add on I'm developingFirefox 禁用我正在开发的插件
【发布时间】:2015-08-17 15:20:09
【问题描述】:

我正在使用最新的 jpm SDK 开发一个 Firefox 插件。

完成主要代码后,我使用 jpm run 命令运行扩展。

但插件被禁用。它说“无法验证 ADDON NAME 以在 FIREFOX VERSION 中使用并且已被禁用。”

如图所示。 有人知道如何关闭这个 Firefox 功能吗?

【问题讨论】:

  • 我不使用 Firefox,但通过快速搜索找到了这个:github.com/ancestorak/brief/issues/152 不确定这是否能解决您的问题。
  • 谢谢,它有效。 @詹姆斯唐纳利
  • 太棒了,我已经把它作为答案发布了。

标签: javascript firefox firefox-addon-sdk jpm


【解决方案1】:

jpm 中的永久修复以避免每次执行“jpm run”时都必须转到首选项并禁用签名要求,即更改 jpm 配置文件中的 preferences.js,如下所示:

"xpinstall.signatures.required" : false

在文件中

npm\node_modules\jpm\data\preferences.js

请参阅此更改列表以获取示例:https://github.com/mozilla-jetpack/jpm/commit/d7f9b51f73d829e65d900a2cb0eed0cbaa957250

原始答案here的学分

【讨论】:

  • 这是否记录在任何地方? Github 链接已失效...当您使用npm install --global 安装 jpm 时,您根本不知道它在 Linux 机器上的位置?
  • 似乎修复/更改已集成到主项目中,但尚未发布。您可以按照此处的说明手动更新:npmjs.com/package/jpm
【解决方案2】:

来自comment 上周在 GitHub 问题上留下的同样问题:

转到 about:config 并切换 xpinstall.signatures.required 首选项。
— Keith94 的评论(上面链接)

【讨论】:

    【解决方案3】:

    要为 Firefox 开发附加组件,请使用 Developer Edition of Firefox

    More about it:

    Firefox 42 及更高版本:

    基于 42 及更高版本的 Firefox Beta 和 Release 版本(Beta 42 将与 Firefox 41 同时发布)将删除允许安装未签名扩展的首选项,并将禁用和/或阻止安装未签名的扩展名。

    基于 42 及更高版本的 Firefox Nightly 和 Developer Edition 将保留禁用签名强制的首选项,允许在这些版本中开发和/或使用未签名的插件。基于发布的无品牌版本的 Firefox 也将提供给开发人员,预计将在 Firefox 42 发布(可能是测试版)中使用。

    【讨论】:

      【解决方案4】:

      如果我通过插件 package.json 文件中指定的脚本运行相同的命令,它会正确加载我的插件。

      package.json:

      {
        ...
        "scripts":{
          "firefox": "jpm run"
        }
      }
      

      在终端/控制台中:npm run firefox

      我不知道为什么会这样

      【讨论】:

        【解决方案5】:

        更新:您需要在about:config 中将xpinstall.signatures.required 设置为false(如上所述)。但是,使用 jpm 启动时不能这样做(因为它不会持续存在)。相反,您需要通过 firefox 配置文件管理器启动您的配置文件,在 about:config 中进行更改,然后退出配置文件,然后通过 jpm 启动配置文件(使用 -p PROFILE_NAME 标志)。此过程同样适用于您可能想要进行的其他(持久)更改,例如偏好、书签等。

        【讨论】:

        • 回答我自己的问题:显然,任何想要保留的设置都需要在直接启动配置文件后进行(例如,通过配置文件管理器)。通过 jpm 启动的配置文件中对 about:config、书签等所做的任何更改都会在 jpm 退出时重置。
        • 运行jpm时需要指定profile。运行 jpm 命令时使用 -p PROFILE_NAME 参数购买,然后您可以保留您的设置
        • 看来这不是真的@HankYang。当我运行jpm run --profile testprofile (...) 并将xpinstall.signatures.required 更改为false 时,在Firefox/JPM 重新启动(再次选择testprofile)后,更改不会保留(xpinstall.signatures.required 仍设置为true)。虽然,如果我通过启动 firefox -P 并选择 testprofile 配置文件来更改该设置,则 about:config 中的更改对于 Firefox 和 JPM 后续运行都将保持不变。 (Firefox 版本:45.2.0esr,JPM 版本:1.0.7
        • @falconepl 您是否指定了配置文件的完整路径?如果没有,它将仅在当前路径中查找配置文件,并且所有更改仅保留在当前配置文件文件夹中
        • @HankYang:是的,我已经尝试了这两种方法 - 通过名称和完整路径指定配置文件。就我的经验而言,它们的工作原理完全相同,about:config 设置在从 JPM 设置时没有持久化。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多