安装附加组件以进行开发
附加组件可以安装为:
- 正常的加载项,安装到卸载之前
- 临时加载项( 仅限扩展 ):仅在重新启动 Firefox 之前安装,或者可以先安装手动卸载。
- 使用
jpm run
( 仅限附加 SDK ):使用附加加载项的临时配置文件自动运行 Firefox。 - 使用
web-ext run
( 仅限 WebExtensions ):使用临时配置文件自动运行 Firefox,并将加载项作为临时加载项加载。默认情况下,监视扩展文件以进行更改,并在文件更改时自动重新加载扩展。
普通附加组件
安装打包的扩展 (即 .xpi
文件)可以简单地将其拖放到运行你希望安装它的配置文件的 Firefox 窗口上。也可以通过从 AMO下载扩展程序直接安装它们。根据你的目标(一个配置文件,所有配置文件,所有用户,哪个操作系统等),还有其他选项可用于安装扩展 。
这些其他选项包括配置文件目录之外的各种目录,你可以将 .xpi 文件放入其中,以便为特定版本的 Firefox 的所有用户或特定用户的所有配置文件安装 .xpi 文件。在 Windows 上,你还可以通过向 Windows 注册表添加密钥来安装扩展。通常,这些其他目录不是你要安装当前正在编写的加载项的目录。但是,它们可用于确保你使用附加组件来支持在你使用的任何 Firefox 配置文件或 Firefox 版本中加载的测试/开发。例如,通过在 <Firefox install directory>/browser/extensions
中放置 .xpi 文件,你甚至可以在 jpm run
创建的临时配置文件中使用扩展(用于测试基于 Firefox Add-on SDK 的扩展)。
对于开发/测试 ,你可以使用 Firefox 扩展代理文件将扩展名放在本地驱动器上的任何目录中 (创建一个名为扩展名为 <em:id>
的文件(在 install.rdf 中为 Bootstrap / Restartless 和 Overlay / Legacy)。profile 的扩展目录,其中包含一行,其中包含包含扩展名文件的目录的完整路径。以这种方式安装的扩展几乎总是无符号的(见下文)。因此,如果要将扩展安装到 Firefox 的发行版或 Beta 版中,则此方法不是很有用。
安装普通附加组件的限制:附加组件签名
为了安装一个扩展为正常附加到版本或 Firefox Beta 版大于或等于 48 版本,扩展必须要由 Mozilla 签署 。通过向 AMO 提交延期签名。签名后,扩展可以安装在它支持的任何版本的 Firefox 上。对于版本 43 之前的 Firefox 版本,Mozilla 不需要对扩展进行签名。Mozilla 不需要对扩展以外的加载项类型进行签名。
你可以通过在 about:config
中将 xpinstall.signatures.required
设置为 false
,将未签名的扩展名作为普通加载项安装到其他版本的 Firefox 中(例如 Firefox Developer Edition , Firefox Nightly , Unbranded Beta 或 Unbranded Release )。设置此选项在 Release 和 Beta Firefox 版本 43-48 中也很有效。从版本 48 开始,在 Firefox 的发行版和 Beta 版中设置此选项无效。
但是,你可以在所有版本(包括发行版)中完全禁用 Firefox 中的加载项签名检查。Stack Overflow 问题的答案如何禁用 Firefox 附加组件的签名检查? 描述了如何做到这一点。
作为临时附加组件安装扩展的可用性大大降低了为开发目的安装未签名附加组件的需求。 。临时加载项不需要签名,可以加载到任何当前版本的 Firefox 中。顾名思义,Temporary Add-ons 的主要缺点是它们是临时的。必须在重新启动 Firefox 时重新安装它们。但是,在某些用例中,最好将附加组件安装为普通加载项,而不是未签名的附加组件,而不是临时加载项。如果即使重新启动 Firefox 后仍需要加载项仍然安装,则应将加载项安装为未签名的加载项。出于各种原因,这可能是可取的,包括:长期使用测试,或测试 Firefox 启动时附加组件的功能。
临时附加组件( 仅限扩展 )
WebExtensions,Firefox 附加 SDK 扩展和 Restartless / Bootstrap 扩展可以作为 about:debugging
的临时附加组件安装。扩展可以在任何当前版本的 Firefox 中作为临时加载项加载。临时加载项不需要签名,可以从解压缩(带文件的目录)或打包(例如 .xpi 文件)加载。
有关临时安装扩展的详细信息,请参阅安装临时加载项 。