首页 浏览器 APP 手游

浏览器扩展在Android 版Firefox中卷土重来

Mozilla 已向开发者发出通知,称其正准备在 Android 版 Firefox 上推出对开放扩展生态系统的支持。Mozilla 指出,此举将使 Firefox 成为唯一支持此类扩展生态系统的主要 Android 浏览器,并表示一切听起来都将在今年年底前就位。这一变化意味着,用不了多久,使用 Android 手机的 Firefox 用户就能够使用目前可用的少数扩展程序。

1

自三年前 Fenix 重新设计以来,Firefox 只支持极其有限的附加组件,而全面扩展支持的改变是用户一直呼吁的。

现在,Mozilla 正计划满足这些需求,并表示打算在 addons.mozilla.org (AMO) 上推出对 Android 版 Firefox 扩展开放生态系统的支持。目前的时间表有点模糊,该公司没有比“未来几个月”更准确,并附带说明“可以肯定的是,预计会在年底前推出”。

在通知中,Mozilla 建议开发者:

在过去的几年里,Firefox for Android 官方支持一小部分扩展,而我们则集中精力加强 Firefox for Android 的核心功能并了解移动浏览器用户的独特需求。如今,Mozilla 已经构建了支持 Firefox for Android 上的开放扩展生态系统所需的基础设施。我们预计用户对 Android 版 Firefox 的更多扩展有相当大的需求,那么为什么不立即开始优化您的桌面扩展以供移动使用呢?

这几乎是 Mozilla 目前透露的所有信息,但它表示计划“创建额外的指南、资源并举办社区活动,以支持您向 Android 等托管多进程环境过渡”。

将后台脚本转换到非持久事件页面

我们最近在 Firefox for Android Nightly 中引入了对多进程的支持。这意味着扩展程序不再作为 Firefox 用户界面托管在主进程中。这是一个关键的考虑因素,因为 Android 很容易关闭资源密集型进程,例如扩展。为了降低扩展意外终止的风险,我们引入了非持久性的事件页面架构,并且对进程终止更具弹性。因此,我们强烈鼓励开发人员从持久背景过渡到非持久事件页面,以提高其扩展的稳定性。总而言之,这意味着:

更新您的manifest.json背景密钥并添加“persistent”:false。

确保侦听器在顶层同步注册。

在存储 API 中记录全局状态,例如 storage.session。

将计时器更改为闹钟。

从使用extension.getBackgroundPage从后台页面调用函数切换到扩展消息传递或runtime.getBackgroundPage。

一旦您准备好测试扩展程序的移动版本,请在 AMO 上创建一个集合,并在Firefox for Android Nightly上对其进行测试。如果您希望在将扩展发布到 AMO 之前对其进行完善,您还可以使用 web-ext 调试并运行扩展。

对于寻求将桌面扩展扩展到移动 Android 领域的开发人员来说,这是一个激动人心的时刻。如需社区支持和意见,欢迎您加入Firefox Add-ons Discourse上的对话。