2013-07-04 213 views
1

我打算在不久的將來開始編寫Firefox擴展,並發現我希望我的擴展具有的功能的一部分已經在另一個延期。現在我想知道是否可以對使用另一個擴展功能的擴展進行編程(即現有的擴展必須在我之前安裝)。有沒有例如調用其他擴展功能的可能性?
我不想把別人的工作作爲我自己的工作(因此依賴於現有的擴展),我只是覺得可能不需要兩次編寫相同的功能。擴展現有的Firefox擴展/在自己的擴展中使用現有Firefox擴展的功能

我會假設其他人也有這個問題/問題,但不幸的是我找不到在Stackoverflow或一般的互聯網上的任何答案。顯然這是可能的change現有的擴展,但這不完全是我想要的。

我很高興爲任何提示或指針!
在此先感謝!

回答

0

是毫無可靠的方法來實現這一目標文檔(曾經有在Firefox < 4的方式),但你應該能夠推出自己的依賴檢查你的附加使用AddonManager API代碼:

Components.utils.import("resource://gre/modules/AddonManager.jsm"); 

AddonManager.getAllAddons(function(aAddons) { 
    // Here aAddons is an array of Addon objects 
}); 

更多信息:https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_Manager#Accessing_installed_add-ons

此外,如果通過主附加組件網站(https://addons.mozilla.org)分發您的插件,您可以列出多達三個附加你那取決於。這並不會阻止人們在沒有依賴的情況下安裝插件,但它應該爲絕大多數插件的潛在用戶提供良好的用戶體驗。

+0

感謝您的回答,Luckyrat! 這似乎應該工作。在考慮了你的評論的含義之後,我對該主題進行了更深入的研究,發現只要兩個擴展都是疊加插件,似乎可以調用其他擴展的函數。我認爲,通過這些信息,我應該能夠得到這個工作! – hogreflector