Mozilla

火狐社区

登录    注册

QQ互联

如何开发 WebExtensions 扩展

xuyuehang 千年狐妖 发表于 2017-10-12 11:41:34 | 显示全部楼层    关闭 [复制链接] 打印 上一主题 下一主题
16 90900
跳转到指定楼层
本帖最后由 yingliu 于 2017-10-24 16:37 编辑



WebExtensions 简单来说就是一个用于开发各个浏览器附加组件的技术,开发者仅需要掌握 HTML、CSS、JavaScript 即可使用 WebExtensions 开发浏览器附件组件,Firefox 将在 57 的时候将只支持 WebExtensions 扩展,其他旧式类型的扩展(基于XUL、XPCOM、Add-on SDK)将全部取消支持,若你有旧式扩展需要迁移,可以阅读这篇文章

你可以在 MDN 中的 WebExtensions 主页找到关于 WebExtensions 的更多信息。

开发 WebExtensions
调试工具
通常建议使用 Developer Edition 版的 Firefox 进行 WebExtensions 的测试与开发,它允许你安装未签名的 .xpi (Firefox扩展程序)文件。
关于 .xpi 文件签名说明

Mozilla 官方维护了一个用于调试 WebExtensions 的 CLI 工具,可以实现一些方便快捷的功能(比如 WebExtensions 热加载):mozilla/web-ext

遇到问题
当你在开发过程中遇到一些意料之外的问题,你可以尝试在 Chrome 上运行你的 WebExtentions 代码 ,来对比二者的不同。若发现为 Firefox 实现的 bug,可以到 Bugzilla 上向 Firefox 进行反馈。

WebExtensions 还在不断发展中,若你有关于 WebExtensions 的想法,可以在 dev-addons 邮件列表或 IRC 上的 #webextensions 与 Mozilla 联系。

跨平台开发
使用 WebExtensions 开发跨平台的浏览器扩展程序十分容易,因为 WebExtension API 就是专为跨浏览器兼容而设计的。Firefox 的扩展程序 API(WebExtensions)与 Chrome 所支持的 extension API 有很大程度的兼容,Mozilla 官方甚至提供了一个 polyfill 来帮助开发者完成跨平台开发。

若你想从 Chrome 中移植扩展到 Firefox,可以阅读:
从 Google Chrome 移植
如何将Chrome Extension迁移到Firefox上

WebExtensions相关资料
在 MDN 上提供了关于 WebExtensions 方面的文档,不仅仅是 Firefox,你可以在大部分 API 中看详细的浏览器兼容标注。一些 API 仍在实现过程中。
MDN: WebExtensions 新手教程、相关概念

其他开发者在 Github 上收集的关于 WebExtensions 开发资源整合:
awesome-WebExtensions
awesome-browser-extensions-and-apps
xuyuehang 千年狐妖
沙发
发表于 2017-10-18 15:19:43 | 显示全部楼层
花生PeA 发表于 2017-10-13 17:24
这东西看着真眼熟啊......

本来就是你写的那个
xuyuehang 千年狐妖
板凳
发表于 2017-10-18 15:20:53 | 显示全部楼层
FlamingFox 发表于 2017-10-13 19:57
提个建议,如果以后在进行WebExtension开发时,应该让开发者在最后打包扩展的时候,在其扩展上加上Web字样 ...

一些新扩展是这样区分的,不过全凭自愿,而且以后全面变成webextension后,如果扩展名再带上webext就多此一举了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表