尝试为我的Chrome扩展程序设置新图标时,只允许我使用字符串选项。我正在尝试使用字典,因此chrome可以根据用户选择最佳图标。以下是我到目前为止的情况:
清单:
"icons": {
"16": "images/icon.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
"browser_action": {
"default_icon": {
"16": "images/icon.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
}...
content_script.js:
chrome.browserAction.setIcon({path: {
"16": "images/icon.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
}});
当我的代码到达setIcon代码时,它会抛出这个错误:
Error: Invalid value for argument 1. Property 'path': Value does not match any valid type choices.
我尝试过一些东西,但这个工作的唯一方法是添加字符串而不是字典。 Here是文档。
答案 0 :(得分:5)
问题是Chrome需要某些尺寸,如果还有其他任何尺寸,则会引发此错误。
信息量不大,我同意。
现在,文档说:
如果适合一个屏幕空间单位的图像像素数等于
scale
,则将选择大小为scale * 19
的图像。 最初只支持第1级和第2级。
因此,它希望仅尺寸19
和38
。字典中的任何其他内容都会导致上述错误。
请注意,图片的 不是这个确切的尺寸;它将根据需要进行缩放。