mozilla

附加组件

改进 Mozilla 应用程序,并为之赋予更多内涵

附加组件可为基于 Gecko 的应用程序(例如 Firefox、SeaMonkey 和 Thunderbird)添加新功能。 附加组件有两种主要类型:扩展可为应用程序新添功能,而主题可以更改应用程序的外观。

Mozilla 为扩展和主题提供了一个附加组件库(addons.mozilla.org,也叫做AMO)。 当你向 AMO 提交扩展,这些扩展被 AMO 接受后需要经过一个审核过程,只有在通过审核后,用户才能获得这些扩展。你不一定要将你的附加组件上传到 AMO,不过如果你这样做的话,AMO的资源就会更加丰富,用户将能够从中收益,同时你也能够从 AMO 丰富的实用的资源中收益。

附加组件能够极大的改变软件的使用方式。我们则研究出了一套指导方针来帮助开发者开发出能提供优秀的用户体验的附加组件。这套指导方针可以在几乎所有的附加组件上应用,无论是不是在发布在 AMO 上你都应该尽量遵从他们。


扩展

扩展能够向如 Firefox,Thunderbird 等软件添加新的功能。他们能提供新的特性,比如,一个全新的标签页管理方式,修改网页内容以提升浏览体验等。

下面是三种不同的创建扩展的方式:基于 Add-on SDK 的方式、手动创建无需重启扩展的方式和传统方式。

如果可能,最明智的是采用 Add-on SDK 的方式,它采用了无需重启的扩展机制,可以简化某些任务并在卸载后自动清理。如果 Add-on SDK 无法满足你的需求,可采用手动创建无需重启扩展的方式。

欲详细了解如何选择应使用的技术,请阅读这个对比

最佳规范

不论你如何开发扩展,您都可以遵循一些规范,以保证您的扩展提供了尽可能好的用户体验。

性能
保证你的扩展运行快速, 有效响应,内存高效使用。
安全
保证你的扩展不暴露用户在恶意网站。
兼容
确保你的扩展与其他扩展能完美兼容。

特定应用程序专属

大部分文档都默认您在为 Firefox 桌面版开发。如果您正在为其他一些基于 Gecko 的应用程序开发,您须要了解其中的一些差异。

Thunderbird
为 Thunderbird 邮箱客户端开发扩展。
Android 版 Firefox
为安卓版 Firefox 开发扩展。
SeaMonkey
SeaMonkey 软件套件开发扩展。

主题

主题是用来自定义用户界面的附加组件。有两类主题:轻量主题(又名炫彩风格)和完整主题。

轻量主题比完整主题实现简单得多,但只能提供有限的定制功能。

使用完整主题可以深度定制应用 UI,虽然该文档已经过时,但链接到这里作为一个待更新的可查阅基础文档。


其他种类的附加组件

搜索引擎插件 是个简单且特殊的附件:他们给浏览器搜索栏添加新的搜索引擎。

插件 帮助应用理解原本不支持的 Web 内容。新站点不应该再使用传统的 NPAPI 插件。插件并不被流行的移动系统支持,站点应该逐渐放弃使用插件。


加入 扩展开发 社区

请选择你喜欢的方式加入我们:

子导航

  1. 无须重启的扩展
  2. 传统扩展
  3. Add-on SDK
    1. Installation
    2. Tutorials
    3. Guides
    4. High-Level APIs
      1. Low-Level APIs
        1. Tools Reference
          1. jpm
          2. jpm-mobile
          3. jpmignore
          4. console
          5. cfx to jpm
          6. package.json
          7. The Add-on Debugger
        2. Release notes
      2. 技术
        1. Promises
      3. 最佳规范
        1. 性能
        2. 安全
        3. Etiquette
      4. Themes
        1. 轻量主题
        2. Lightweight themes FAQ
        3. 完整主题
      5. 发布附加组件
        1. addons.mozilla.org
          1. 向 AMO 提交附加组件
          2. 策略
            1. Add-on Submission
            2. Review Process
            3. Maintaining Your Add-on
            4. Featured Add-ons
            5. Developer Agreement
            6. Contacting Us
        2. Add-on guidelines
      6. Community and Support
        1. Add-ons Blog
        2. Add-on Forums
        3. Stack Overflow
        4. Development Newsgroup
        5. IRC Channel

      文档标签和贡献者

      标签: 
      最后编辑者: lil9lll,