Firefox插件 - 图标没有显示

时间:2016-01-13 13:43:20

标签: javascript firefox firefox-addon firefox-addon-sdk jpm

我正在尝试为Firefox编写一个Addon。为此,我使用的是Mozilla“Addon-SDK”。

当我使用“jpm run”功能时,一切正常。但是只要我将它打包到xpi并安装它,图标就不会显示在工具栏中。这似乎是SDK中的一个错误 我尝试过其他博客文章的各种解决方法。

  • 编辑package.json
  • 重命名为“icon”
  • 转向数据
  • 将图标移至root
  • 绝对路径
  • 在rdf中编辑firefox版本
  • debuging Index.js ...

这里最有用:

Firefox add-on : extension icon not showing
https://github.com/mozilla-jetpack/jpm/issues/197

因为必须验证Firefox 43插件。我这样做了我也禁用了about:config中的函数,所以我可以更快地尝试新版本。仍然没有运气。

以下是我在 index.js 中的代码:根据答案编辑但仍无效

    var button = buttons.ActionButton(
    {
      id: "MorastLink",
      label: "In den Morast",
      icon:
      {
        "16": "./images/icon16.png",
        "32": "./images/icon32.png",
        "64": "./images/icon64.png"
      },
    onClick: CopyToMorast
    });  

在这里,我也尝试过,使用绝对路径移动路径,更改名称......

这是我的 package.json

    {
      "title": "Morast",
      "name": "morastaddon",
      "version": "0.1.4",
      "description": "An Addon to insert a \"Add to Morast\" button on distributer sites.",
      "main": "index.js",
      "author": "Lisa Austen",
      "icon": "ressource://@morastaddon/data/images/icon16.png",
      "icon64": "ressource://@morastaddon/data/images/icon64.png",
      "engines": {
      "firefox": ">=38.0a1",
      "fennec": ">=38.0a1" },
      "license": "MIT",
      "keywords": [
      "jetpack"
    ]
    }

https://github.com/LAusten/MorastAddon.git

1 个答案:

答案 0 :(得分:1)

根据MDN,图标路径必须相对于data文件夹:

  
      
  • 作为资源://指向附加组件“data”目录中图标文件的URL,通常使用self.data.url(iconfile)构建

  •   
  • 作为相对路径:形式为“./iconfile”的字符串,其中“iconfile”是从加载项的“data”目录开始的图标文件的相对路径

  •   

示例:

  icon:
  {
    "16": "./images/icon16.png",
    "32": "./images/icon32.png",
    "64": "./images/icon64.png"
  }