我们即将放弃这篇文档中描述的 Firefox 附加组件技术。
请勿使用下列技术开发新的附加组件。请改用 WebExtension 代替。
如果您在维护使用下列技术的附加组件,请考虑将其迁移为使用 WebExtensions 技术。
使用下列技术开发的附加组件可能不适用于多进程 Firefox(e10s),它已在 Firefox Nightly 和 Firefox Developer Edition 中默认启用,并很快将遍及 Firefox 的公测版(Beta)和正式版。我们准备了制作多进程兼容的附加组件的文档,但迁移到 WebExtension 是更加着眼于未来的选择。
有关的 wiki 页面写有协助开发人员过渡到新技术的有关资源、迁移路径、办公时间等信息。
本页面为那些基于 Gecko 的应用开发扩展插件的开发者们提供了可用的参考文献链接。
- XUL 覆盖指定的接口
- 对应用与内容的之间交互的特定代码提供了可用的APIs, 比如 页签浏览 和JavaScript模组。
唯一可行的方法是开发扩展在 Gecko 2.0 发布之前. 但是现在有两种可以选择的技术:免重启扩展和基于 SDK 的扩展插件. 这些特定的 JavaScript APIs 仍旧可以被这些较新的技术使用。
Prior to Firefox 4, and the Gecko 2 engine that powers it, this was the only way to develop extensions. This methodology has largely been superseded by restartless extensions, and the Add-on SDK, which is built on top of them. The privileged JavaScript APIs described here can still be used in these newer types of add-ons.
XUL 学校
XUL 学校 是一个综合性的拓展开发指南,主要针对 Firefox 的扩展开发,但是绝大多数可应用于其他基于 Gecko 的应用。
更多资源
- 设置环境
- 设置扩展开发需要的应用.
- XUL
- 相关的指南介绍XUL 扩展的接口.
- 代码片段
- 提供了很多的简单示例代码片段.
- 安装扩展
- 如何通过把扩展的文件拷贝进应用的安装目录来安装扩展.
- Firefox 插件的开发者指南
- 开发扩展的指南.
- JavaScript 模块代码
- 适用于扩展开发者的 JavaScript 模块。
- 扩展偏好
- 如何在你的扩展出现在附加组件管理界面的时候指定偏好设置。
- 常见问题
- 常见的扩展开发中的错误。
- 扩展打包
- 看看扩展是如何被打包和安装的。
- Firefox 的二进制扩展
- 为 Firefox 创建二进制扩展。