0

我已经实现了示例Mozilla Firefox扩展在工具栏上显示Firefox图标(动作按钮),它将打开“http://www.mozilla.org/”。 它在jpm运行中工作正常,然后我创建了使用jpm xpi的包并创建了xpi文件。然后我已经安装在我的Firefox浏览器,并成功安装,但没有工作。 它不能在工具栏上添加Firefox图标(动作按钮)(控制台中没有错误)。Firefox扩展没有显示图标

以下是代码。

index.js

var buttons = require('sdk/ui/button/action'); 
 
var tabs = require("sdk/tabs"); 
 

 
var button = buttons.ActionButton({ 
 
    id: "mozilla-link", 
 
    label: "Visit Mozilla", 
 
    icon: { 
 
    "16": "./icon-16.png", 
 
    "32": "./icon-32.png", 
 
    "64": "./icon-64.png" 
 
    }, 
 
    onClick: handleClick 
 
}); 
 

 
function handleClick(state) { 
 
    tabs.open("http://www.mozilla.org/"); 
 
}

的package.json

{ 
 
    "title": "Sample", 
 
    "name": "sample", 
 
    "version": "0.0.1", 
 
    "description": "Sample AddOn", 
 
    "main": "index.js", 
 
    "author": "Sample", 
 
    "engines": { 
 
    "firefox": ">=30.0a1", 
 
    "fennec": ">=30.0a1" 
 
    }, 
 
    "license": "MIT" 
 
}

我已经实施使用 - https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_Started_%28jpm%29

请帮助。

感谢

+0

是否使用了设置为永不雷默轮廓mber历史记录(选项 - >隐私 - >历史记录),或以[隐私浏览模式](https://www.mozilla.org/en-US/firefox/private-browsing/)进行。如果是这样,请参阅[Firefox附加组件使用“jpm run”,但不使用“jpm xpi”](http://stackoverflow.com/a/38793196/3773011)生成的随附.xpi文件。 – Makyen

回答

2

为了使图标visable,你必须创建你的扩展内data目录,并把你的新图标。

+0

感谢您的回复,我认为JPM不需要ID。但无论如何,我已经与Id一起尝试过,但仍然存在相同的问题。我不确定这个问题是否与JPM有关,因为我没有使用CFX。请指教。 –

+0

你说得对,'jpm'不需要'id'。我用jpm运行你的代码,再次没有错误,扩展对我来说工作正常。你确定你在尝试'jpm xpi'时没有遇到任何错误吗? –

+1

是的,jpm xpi没有错误。以及jpm运行也工作正常,但是当我在我的Firefox中安装xpi文件时,没有任何事情发生意味着它不显示图标。你能否给我发送你生成的xpi文件? - [email protected] –

0

您错过了本课中的一个项目... 您需要在扩展根目录中创建“data”目录,并且必须将所有内容放入此文件夹中。 在我的例子我用这样的:

var button = this.buttons.ActionButton({ 
      id: "show-panel", 
      label: "Show Panel", 
      icon: { 
       "16": "./icon/x16.png", 
       "32": "./icon/x32.png", 
       "64": "./icon/x64.png" 
      }, 
      onClick: function(state) { 
       // ... 
      } 
     }); 

和我的结构是这样的: MyExtensionName /数据/图标/ [巴纽, .ICO]

但你也可以使用内部链接

资源:扩展的// EXTENSIONNAME/...

icon: { 
    "16": "resource://extensionname/data/icon/x16.png", 
    "32": "resource://extensionname/data/icon/x32.png", 
    "64": "resource://extensionname/data/icon/x64.png" 
}