2012-02-13 44 views
1

我正在使用toolbarbutton庫,因爲如果我重新啓動Firefox,正常的小部件將不會存儲它們的位置。 不幸的是我想在運行時改變圖標。隨着小部件我所做的:在運行時更改Firefox addon sdk toolbarbutton圖標

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

與我試過toolbarbuttons:

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

無任何影響。該圖像似乎只在構建toolbarbutton時使用。

還試圖銷燬並重新創建與不同的圖標的按鈕,但這會導致令人討厭的閃爍。

任何想法,將不勝感激。

+0

您使用的是哪個toolbarbutton庫? – canuckistani 2012-02-13 17:25:19

+0

我正在使用Eric Volds庫。 https://github.com/voldsoftware/toolbarbutton-jplib – Franz657587 2012-02-14 17:28:38

+0

這可能是庫的限制 - 你有沒有考慮直接聯繫Erik? – canuckistani 2012-02-15 01:17:53

回答

0

我做了一個快速測試,這應該按預期工作,所以我不知道你在這裏遇到什麼問題。以下是一些示例代碼,可以正常工作:

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 

是否有更多的代碼可以發佈?問題一定在其他地方。