default_icon与图标创建Chrome扩展



我正试图构建一个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_actionpage_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"
},

最新更新