在自己的扩展中扩展现有Firefox扩展的现有Firefox扩展/使用功能

时间:2013-07-04 09:19:16

标签: firefox firefox-addon dependencies

我计划在不久的将来开始编写Firefox扩展程序,并发现我希望扩展程序具有的部分功能已在另一个扩展程序中完成。现在我想知道是否可以编程使用另一个扩展功能的扩展(即现有扩展必须在我的之前安装)。例如是否可以调用另一个扩展函数?
我并不是试图将某些elses作为我自己的工作(因此依赖于现有的扩展),我只是认为可能没有必要对两次相同的功能进行编程。

我认为其他人也有这个问题/疑问,但不幸的是我在Stackoverflow或互联网上找不到任何答案。显然可以change现有的扩展,但这不是我想要的。

我很高兴有任何提示或指示! 提前谢谢!

1 个答案:

答案 0 :(得分: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)分发附加组件,则可以列出最多三个您自己依赖的附加组件。这并不能阻止人们在没有依赖性的情况下安装你的插件,但它应该为绝大多数插件的潜在用户提供良好的用户用户体验。