drt*_*tob 5 firefox firefox-addon-webextensions
如何将我的自行分发的 firefox webExtension 配置为自动更新,我已尝试遵循MDN 更新文档但仍然无法更新。我的网络扩展托管在子域名上,例如
“ https://files.example.com/myfile/extension.xpi ”
我的文件与我的文件updates.json位于同一位置.xpi
这是我的 update.json 的原型
{
"addons": {
"updates": [ { "version": "1.2",
"update_link": "https://files.abc.com/myfiles/extension-1.2-an+fx.xpi" },
{ "version": "1.3",
"update_link": "https://files.abc.com/myfiles/extension-1.3-an+fx.xpi" }
]
}
}
Run Code Online (Sandbox Code Playgroud)
这是我从浏览器控制台得到的乱码
1535658478365 addons.update-checker WARN onUpdateCheckComplete failed
to parse update manifest: [Exception... "Update manifest is missing a
required addons property." nsresult: "0x80004005 (NS_ERROR_FAILURE)"
location: "JS frame ::
resource://gre/modules/addons/AddonUpdateChecker.jsm ::
getRequiredProperty :: line 120" data: no] Stack trace:
getRequiredProperty()@resource://gre/modules/addons/AddonUpdateChecker.jsm:120
parseJSONManifest()@resource://gre/modules/addons/AddonUpdateChecker.jsm:130 onLoad()@resource://gre/modules/addons/AddonUpdateChecker.jsm:309 UpdateParser/<()@resource://gre/modules/addons/AddonUpdateChecker.jsm:241
Run Code Online (Sandbox Code Playgroud)
您的“updates.json”似乎缺少加载项名称和 XPI 哈希。我还会在文件名中不使用“+”进行测试,我认为这引起了我的问题(由于托管服务器)。
要查看您的附加组件 UUID(例如“ADDONNAME@test.com”),请登录开发人员中心,单击编辑信息,然后查看技术信息。要生成 XPI 文件的 update_hash,我建议使用 VSCryptoHash,但任何其他生成加密哈希的程序都可以。
{
"addons": {
"ADDONNAME@test.com": {
"updates": [
{ "version": "1.0.0",
"update_link": "https://files.abc.com/myfiles/extension-1.2-fx.xpi" ,
"update_hash": "sha256:blahblah" }
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
控制台错误表明您的清单也缺少某些内容。这是一个基于我的有效示例。
"applications": {
"gecko": {
"id": "ADDONNAME@test.com",
"strict_min_version": "50.0",
"update_url": "https://webpage/Updatefile.json"
}
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
742 次 |
| 最近记录: |