Значок не отображается в элементе контекстного меню с помощью SDK надстройки Firefox - PullRequest
3 голосов
/ 04 февраля 2012

Это структура файлов:

├── 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")
    });
}

отображается в контекстном меню, иfileScriptFile может быть оправдан, но изображение не отображается.Как я могу решить эту проблему?

Ответы [ 3 ]

0 голосов
/ 11 апреля 2012

Я могу ошибаться, но из комментариев к ответу Криса кажется, что проблема не в значке, а в вашем сценарии загрузки.Возможно, процесс запуска никогда не достигнет свойства изображения, чтобы добавить его.

Вы получаете ту же ошибку, если полностью удалите свойство изображения?

0 голосов
/ 18 декабря 2015

Попробуйте, у меня это сработало:

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")
});
0 голосов
/ 04 февраля 2012

Убедитесь, что вы используете достаточную версию Add-on SDK; свойство image было добавлено только в версии 1.1. Если вы используете 1.0, вам нужно обновить. В противном случае оно должно работать.

...