изменение значков панели инструментов SDK аддона Firefox во время выполнения - PullRequest
1 голос
/ 13 февраля 2012

Я использую библиотеку панели инструментов, потому что обычные виджеты не будут сохранять свои позиции, если я перезапущу Firefox.К сожалению, я хочу изменить значок во время выполнения.С виджетами, которые я сделал:

widget.contentURL = "http://127.0.0.1:8082/static/icons/eth_16.png";

С кнопками панели инструментов я попробовал:

Toolbarbutton.image = "http://127.0.0.1:8082/static/icons/eth_16.png";

без какого-либо эффекта.Изображение, кажется, используется только при создании кнопки панели инструментов.

Также пытались уничтожить и воссоздать кнопку с другим значком, но это вызывает раздражающее мерцание.

Любая идея приветствуется.

1 Ответ

0 голосов
/ 02 октября 2012

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

var toolbarbutton = require("toolbarbutton");
var timer = require("timer");

var TEST_ICON_M_URL = "http://www.mozilla.org/media/img/favicon.png";
var TEST_ICON_G_URL = "http://www.google.com//images/google_favicon_128.png";
console.log("TEST_ICON_URL", TEST_ICON_M_URL);

var options = {
  id: "test-tbb",
  label: "TEST BUTTON",
  toolbarID: "nav-bar",
  image: TEST_ICON_M_URL,
  forceMove: true
};

var tbb = toolbarbutton.ToolbarButton(options);
tbb.moveTo(options);

timer.setTimeout(function () {
  tbb.image = TEST_ICON_G_URL;
  console.log("switched", TEST_ICON_G_URL);
}, 5 * 1000); // 5 seconds

Есть ли еще код, который вы могли бы опубликовать? Проблема должна быть где-то еще.

...