2012-10-20 108 views
2

我試圖在這裏搜索谷歌搜索。但似乎我沒有運氣。禁用插件時刪除XUL元素,使用Firefox插件SDK

我使用Addon-SDK創建了一個小型的Firefox插件。一切似乎很酷,但用戶界面元素。這很難實現。

我已閱讀有關在此處找到的toolbarbutton的https://github.com/mozilla/addon-sdk/wiki/Community-developed-modules和Mozilla XUL,並決定通過跟蹤瀏覽器窗口創建我自己的工具欄按鈕,使用WindowUtils.onTrack()和操作瀏覽器XUL DOM;

這幾乎已經完成,但當我嘗試禁用並重新啓用我的插件時。按鈕沒有消失,那裏有2個按鈕。

這是非常糟糕的,你可以告訴我如何摧毀或刪除該按鈕也是其他XUL元素,當插件被禁用或刪除。我們使用的是addon-SDK,它是無重啓擴展。

而我的另一個問題是我們應該在操作BrowserXULDom WindowUtils或WindowMediator時使用什麼?或其他,這是更快,更方便?

回答

1

我找到了解決方案!

我們可以收聽我們的加載項上的禁用或卸載事件,並在那個時候刪除XUL元素。 如:

exports.onUnload = function(reason) { 
    // remove code here 
} 

根據加載項SDK文檔,它與附加卸載事件的一些bug,但我認爲它會很快得到解決。

在SDK中,有一個卸載模塊,我還沒有嘗試過。希望有人分享它。

上面的解決方案對我來說非常有用,希望對你有所幫助。 謝謝!

0

Firefox addon sdk有一個bug,所以如果你想檢測一個插件的卸載。您必須使用「禁用」而不是「卸載」

exports.onUnload = function (reason) { 
     if (reason==='disable') { 
      //remove code here 
     } 
    };