Chrome扩展程序setIcon无法使用字典

时间:2014-10-27 16:28:12

标签: google-chrome-extension

尝试为我的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是文档。

1 个答案:

答案 0 :(得分:5)

问题是Chrome需要某些尺寸,如果还有其他任何尺寸,则会引发此错误。

信息量不大,我同意。

现在,文档说:

  

如果适合一个屏幕空间单位的图像像素数等于scale,则将选择大小为scale * 19的图像。 最初只支持第1级和第2级。

因此,它希望尺寸1938。字典中的任何其他内容都会导致上述错误。

请注意,图片的 不是这个确切的尺寸;它将根据需要进行缩放。