我如何配置自分散的firefox webExtension以自动更新,我尝试遵循MDN update doc,但仍然无法更新。 我的网络扩展程序托管在
之类的子域名上“ https://files.example.com/myfile/extension.xpi”
我的updates.json
文件与我的.xpi
文件位于同一位置
这是我的updates.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" }
]
}
}
这是我从浏览器控制台中得到的胡言乱语
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
答案 0 :(得分:0)
您的“ 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" }
]
}
}
}
控制台错误表明您的清单也丢失了某些内容。这是一个基于我的有效示例。
"applications": {
"gecko": {
"id": "ADDONNAME@test.com",
"strict_min_version": "50.0",
"update_url": "https://webpage/Updatefile.json"
}
},