我正试图构建一个Chrome扩展,但我对如何在unibar上正确显示扩展图标感到困惑。
我找到了多个教程,解释如何在browser_action
对象中定义default_icon
:
"browser_action": {
"default_icon": "icon_name.png"
}
但是,根据文档,最好使用对象icons
:
"icons": {
"16": "icon16.png",
"48": "icon48.png",
"128": "icon128.png"
}
文档解释说,第一种方法仍然受支持:19x19图标被编辑为用于特定的显示,这可能会导致图像看起来像素化。
我的问题是不是所有的图标都显示。我的Pastebin有我的manifest.json
文件,其中扩展管理器不显示48px的图像。
我已经回答了我写下这一切的一个问题:default_icon
只是19x19,所以它仍然需要添加到清单中。图标阵列只允许开发人员显示高质量的徽标,无论用户使用什么设备。
我没有添加所有的图标值,特别是
"icons" : { "icon48.png" }
从我的代码。我只将128像素的图像添加到图标阵列中,以便在扩展管理器中可以看到图标。这导致在我添加图标数组后,默认图标从未显示。当我添加完所有需要的图像大小后,默认项目再次出现。
这一切都归结为一个基本原则,即解决问题的方法是无限的。斯科特分享的方法我甚至不知道你可以用这种方式改变它。
- 这里有一种方法
- 另一种方式
- 我的方式
- 当然斯科特分享的方法
谢谢!
您在browser_action
、page_action
内部提及的图标显示在工具栏中,而在chrome://extensions
页面上提及的图标
"browser_action":{
"default_popup":"auth_popup.html",
"default_icon": {
"16": "images/bridgeglobal16.png",
"32": "images/bridgeglobal32.png",
"48": "images/bridgeglobal48.png",
"128": "images/bridgeglobal128.png"
}
},
"icons": {
"16": "images/salimeyes16.png",
"32": "images/salimeyes32.png",
"48": "images/salimeyes48.png",
"128": "images/salimeyes128.png"
},