我们有一个Firefox扩展,它最近从Firefox插件架构移植到了“新”WebExtensions体系结构,然而,我们有一些问题:
我的问题是:我是否可以在http://addons.mozilla.org/上获得支持特定版本火狐的多个扩展版本?也就是说,我们的扩展版本1支持FF <= 49;版本2支持FF >= 50。
发布于 2016-11-08 15:04:38
是的,您可以使用多个版本的外接程序,这些版本与指定的Firefox版本范围兼容。这种能力已经存在多年了。
在manifest.json文件中,您可以指定一个strict_min_version
"applications": {
"gecko": {
"id": "addon@example.com",
"strict_min_version": "42.0",
"strict_max_version": "50.*",
"update_url": "https://example.com/updates.json"
}
}但是,manifest.json键需要Firefox45(用于WebExtensions)。为应用程序指定最低版本和最高版本已为其他类型的加载项提供多年的时间。您还需要手动管理您从AMO开发中心添加的每个版本的最大兼容火狐版本。
在AMO Developer Hub上,在加载项的控制面板中,选择"Manage & Versions“(彩色左菜单列表顶部的底部选项):

在选择“管理状态和版本”时显示的页面上,选择您所关心的版本。
在每个插件版本的页面上,您可以更改所选版本的外接程序兼容的Firefox版本:

注意:虽然我的经验是,版本兼容性选择将影响您的外接程序的哪个版本是自动安装的,但设置最大版本不会阻止用户安装和安装最新版本的Firefox外接程序版本,该版本比最新版本的插件指定的最高版本要晚。此外,AMO将自动增加最新版本的火狐版本,这是基于自动化测试的,即使您手动设置了最大版本。
但是,在其他类型的加载项中,这应该可以通过进入来控制.在我的例子中,在上传插件版本时(在现有的Firefox版本不兼容之前),我不知道与未来版本的Firefox不兼容。因此,我没有在我的install.rdf中设置该选项。对于WebExtension,应该能够使用manifest.json中的strict_max_version键来控制它。
如果您有一个较新的版本,您的插件上传到AMO,您不需要担心这一点。您的插件版本与用户运行的火狐版本兼容,基于插件的.xpi和/或您在AMO控制面板中为每个版本指定的信息,应该自动选择下载和安装。新版本的插件被声明为与旧版本的Firefox不兼容,不应该用于自动升级。
关于转换数据的附带说明:
您应该考虑发布至少一个版本的外接程序,该版本使用嵌入式WebExtension将存储在旧的附加版本中的任何数据转换为WebExtensions。
https://stackoverflow.com/questions/40488822
复制相似问题