指定多种尺寸的默认图标时,我无法browser.browserAction.setIcon
在 Microsoft Edge 中工作:manifest.json
清单.json
{
"manifest_version": 2,
"name": "test",
"version": "0.0.1",
"author": "John Doe",
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_icon": {
"19": "icon.png",
"38": "icon2.png"
}
}
}
背景.js
setInterval(function() {
browser.browserAction.setIcon({
path: "testimage.png"
});
}, 2000);
没有记录错误,代码被执行但图标没有改变。相同的代码在 Chrome 中运行良好。
将 manifest.json 更改为
"browser_action": {
"default_icon": "icon.png"
}
解决了这个问题,但如果我需要使用多个默认图标怎么办?
编辑:
不幸"default_icon": "icon.png"
的是,即使 Edge 愉快地加载了扩展,当它提交到商店时,验证也失败了
验证失败:无效类型:字符串(预期对象) 架构位置:/properties/browser_action/allOf/0/properties/default_icon/type 清单位置:/browser_action/default_icon 扩展清单验证失败:Extension\manifest.json
这确实是 MDN 所说的:https ://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/browser_action#Browser_compatibility
'default_icon' 必须是一个具有明确大小的对象。