我正在查看文档页面,但我无法找出代码中的错误:
chrome.browserAction.setIcon({
details.imageData = {
"48": "Icons/iconfavorite48x.png",
"64": "Icons/iconfavorite64x.png",
"128": "Icons/iconfavorite128x.png"
}
});
字符串
该documentaion说:
请注意,'details.imageData = foo'等效于'details.imageData =' 19 ':foo}'
所以我非常困惑
4条答案
按热度按时间d7v8vwbk1#
你的代码基本上是一个很大的语法错误。JavaScript对象文字应该是
key: value
对的列表。在key
部分中不能(也不需要)进行任何赋值。所以,只修复 * 语法错误,它将是:
字符串
这将失败。
imageData
期望例如从<canvas>
获得的像素数据的二进制斑点。如果要提供路径,则需要使用path
属性:型
请注意,您只能提供它期望的大小。如果你包括任何其他的,它将失败。引用文档:
如果适合一个屏幕空间单位的图像像素数等于比例,则将选择尺寸比例 * 19的图像。最初只支持1和2级。
正常大小的图标是19 x19像素;在高DPI屏幕上,Chrome可能会显示38 x38图标。
更新:由于Chrome在53年切换到Material Design,现在分别需要16 x16和32 x32。您可以提供旧尺寸和新尺寸而不会出错。
所以你可以这样做:
型
图像不需要有这些尺寸,如果需要的话,它们会被缩放;但最好是准确的
k5hmc34c2#
对于manifest version 3,必须使用
chrome.action.setIcon
,而不是chrome.browserAction.setIcon
。例如,单独文件夹中的灰色图像:
字符串
或者,如果不是问题的一部分,可以通过setBadgeText解决:
state
* 是我自己的变量。*型
nom7f22z3#
在Chrome V3中使用
字符串
tvmytwxo4#
在v3中使用:在清单中使用
"icons"
记住图标对象有键值对,其中key定义图标的大小,value是图标的路径。字符串