2012-02-04 37 views
3

这是文件的结构:图标不显示在上下文菜单项与Firefox插件SDK

├── data 
│   ├── icon.png 
│   ├── upload.js 
│   └── upload.js~ 
├── doc 
│   └── main.md 
├── icon.png 
├── lib 
│   ├── icon.png 
│   ├── main.js 
│   └── main.js~ 
├── package.json 
├── package.json.backup 
├── README.md 
├── share2.xpi 
└── test 
    └── test-main.js 

这是main.js代码:

const contextMenu = require("context-menu"); 
const data = require("self").data; 
exports.main = function(options,callbacks){ 
    var cm = require("context-menu").Item({ 
     label:"share it", 
     contentScriptFile:data.url("upload.js"), 
    image:data.url("icon.png") 
    }); 
} 

“分享”是显示在上下文菜单中,并且contentScriptFile被执行,但图像不显示。我怎么解决这个问题?

+0

你不(或不应该)需要用'icon.png'在'LIB /'。 – 2012-02-04 06:56:09

+0

对于我使用image:data.url(“icon.png”)为'data'文件夹中的16x16“icon.png”工作,使用addon-sdk-1.14 – dux2 2013-11-09 22:04:12

回答

0

确保您使用的是足够的Add-on SDK版本; '图片'属性仅在版本1.1中添加。如果您使用的是1.0,则需要更新。否则,它应该工作。

+0

感谢您的帮助。我使用的版本是1.3从https://addons.mozilla.org/en-US/developers/docs/sdk/1.3/dev-guide/addon-development/installation.html)下载,但它无法工作 – 2012-02-04 07:35:04

+0

然后是'图标。 png有效,正确的大小等等?通过'cfx run'运行扩展程序时,控制台中是否出现了一些有趣的内容? – 2012-02-06 03:56:04

+0

对不起,这么晚回复。我尝试了16px,19px和32px,但没有成功。“无法读取chrome清单文件”/tmp/tmpWqbFWK.mozrunner/extensions/[email protected]/chrome.manifest'."in控制台 – 2012-02-21 15:26:45

0

我可能是错的,但从克里斯的答案的意见,它似乎是问题不是与图标,而是与您的上传脚本。 这可能是运行过程永远不会到达图像属性添加它。

如果您完全删除图像属性,是否会得到相同的错误?

0

试试这个,它已经为我工作:

var self = require("sdk/self"); 
require("sdk/context-menu").Item({ 
    label: "Buscar lugar geográfico...", 
    contentScript: 'self.on("click", self.postMessage);', 
    onMessage: function() { 
    doSearch(); 
    }, 
    image:self.data.url("logo.png") 
});