代码之家  ›  专栏  ›  技术社区  ›  Mark Allison

如何让我的图标显示在我的火狐插件中?

  •  0
  • Mark Allison  · 技术社区  · 6 年前

    我已经创建了一个插件并上传到addon s.mozilla.org,它工作正常,但它显示的是默认图标而不是我的图标。我不觉得铬有问题。

    我的 manifest.json 文件如下:

    {
      "manifest_version": 2,
      "name": "Handcash handle converter",
      "version": "1.4",
    
      "description": "Get a receiving address for a Handcash $handle",
      "icons": {
        "48": "handcash48.png",
        "64": "handcash64.png",
        "128": "handcash128.png"
      },
      "browser_action": {
        "default_title": "Handcash handle converter",
        "default_popup": "./popup/popup.html"
      },
      "homepage_url": "https://www.handcash.io",
      "short_name": "HandcashConv",
      "content_security_policy": "script-src 'self' https://api.moneybutton.com ; object-src 'self'",  
    
      "permissions": [
        "storage",
        "clipboardWrite"
      ]
    }
    

    我试着把图标放在他们自己的目录和扩展的根目录中,但是没有快乐。在Firefox中,扩展名如下:

    icon

    完整的源代码,以防您感兴趣: https://github.com/markallisongit/handcash-chrome

    1 回复  |  直到 6 年前
        1
  •  0
  •   Pierre-Adrien    6 年前

    这个 icons 进入 manifest.json 引用在加载项列表、加载项管理页等中使用的图标。您要在此处设置 browserAction 工具栏中的按钮。如果你看一下 browser_action 在MDN页面上,您会注意到 default_icon 设置,我相信这就是你想要的:

    使用此选项为浏览器操作指定一个或多个图标。图标 默认情况下显示在浏览器工具栏中。

    图标被指定为相对于manifest.json文件本身的URL。

    通过在此处提供字符串,可以指定单个图标文件:

    "default_icon": "path/to/geo.svg"
    

    要指定不同大小的多个图标,请在此处指定一个对象。 每个属性的名称是图标的高度(像素),并且必须 可转换为整数。值是URL。例如:

    "default_icon": {
          "16": "path/to/geo-16.png",
          "32": "path/to/geo-32.png"
        }
    

    最后,您应该更新manifest.json,使其包含 默认图标 设置,类似于:

    {
      "manifest_version": 2,
      "name": "Handcash handle converter",
    
      ...
    
      "browser_action": {
        "default_title": "Handcash handle converter",
        "default_popup": "./popup/popup.html",
        "default_icon": {
          "48": "handcash48.png",
          "64": "handcash64.png",
          "128": "handcash128.png"
        }
      },
    
      ...
    }