附加组件允许开发者们去扩展和修改 Firefox 的功能。开发者们能使用标准的 Web 技术「JavaScript,HTML 以及 CSS」再加上一些专用的 JavaScript APIs 来开发附加组件。除此之外,附加组件还能:

  • 改变指定网站的外观或者内容
  • 修改 Firefox 的用户界面
  • 给 Firefox 加上新功能

有几种附件组件类型,但最常见类型是扩展。

开发扩展

在过去,有几种工具集用于开发 Firefox 扩展,但是到 2017 年 11 月底,扩展必须使用 WebExtensions APIs 构建。其余工具集「包括 overlay add-ons、bootstrapped add-ons 和 Add-on SDK」将会同时被废弃。

如果你在编写一个新的扩展,请使用 WebExtensions APIs

使用 Firefox WebExtensions APIs 编写的扩展设计为跨浏览器兼容。在大多数情况下它也能在 Chrome,Edge 和 Opera 中运行,几乎没有任何变化。它们也完全兼容多进程 Firefox。

查看目前在火狐和其他浏览器中支持的 APIs. 我们将继续设计并改进新的 API 以满足开发人员的需求。

绝大多数的 WebExtensions APIs 对于 Firefox Android 版也是可用的。

迁移现有扩展

如果你正在维护一个旧式扩展,比如 XUL overlay、bootstrapped,或者基于 Add-on SDK 的扩展,我们建议你使用 WebExtension APIs 移植它。这里有一些  MDN 中的移植教程

我们在 wiki 页面收集了一些教程来支持开发者们过渡。在开始之前,请使用兼容性检测工具来查看你的附加组件是否受影响。

发布附加组件

Addons.mozilla.org,俗称 「AMO」,是 Mozilla 官方的官方站点, 方便开发者发布扩展组件和用户查找。通过上传附加组件到  AMO, 你可以加入我们的用户和开发者社区,为你的附加组件找到订阅者。

你不需要在 AMO 上发布你的附加组件,但你的附加组件必须要经过 Mozilla 签名,否则用户不能安装它。

为你发布的附加组件添加概述,请查看签名和部署你的附加组件

其他类型的附加组件

通常,当人们谈起附加组件时是指扩展工具,但是这里也有一些其他类型的附加组件允许用户定制 Firefox.  这些附加组件包括:

  • 轻量主题 是一种简单的方式来提供有限的 Firefox 定制;
  • 移动附加组件 是给 Firefox 的 Android 版使用的。注意,虽然如此,我们仍打算弃用这些 API 依赖的一些技术。在将来,Firefox 的 Android 版将会在一定程度上完全支持 WebExtension APIs;
  • 搜索引擎插件 可以添加新的搜索引擎到浏览器的搜索栏;
  • 用户字典 是可以进行各种语言的拼写检查的插件;
  • 语言包 让你有更多可用的语言用于Firefox的界面。

联系我们

你可以从以下链接获得帮助,时刻关注关于附加组件的最新消息,并且给予我们反馈。

附加组件论坛

附加组件交流论坛 讨论附加组件的任何方面并获得帮助。

邮件列表

通过 dev-addons 列表来讨论附加组件生态系统的发展,包括 WebExtensions 系统和 AMO。

IRC

如果你更喜欢使用 IRC,你可以在以下 channel 和其他人交流:

  • #addons (附加组件生态系统的讨论)
  • #extdev (附加组件的发展战略的讨论)
  • #webextensions (对WebExtensions具体的讨论)