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

扩展现有Firefox扩展/在自己的扩展中使用现有Firefox扩展的功能,firefox,firefox-addon,dependencies,Firefox,Firefox Addon,Dependencies,我计划在不久的将来开始编写一个Firefox扩展,并发现我希望扩展的部分功能已经在另一个扩展中完成了。现在我想知道是否有可能编程一个使用另一个扩展功能的扩展(即,现有扩展必须在我的扩展之前安装)。例如,是否有可能调用其他扩展函数 我并不是想把别人的工作冒充成我自己的(因此依赖于现有的扩展),我只是认为可能没有必要对相同的功能进行两次编程 我假设其他人也有这个问题,但不幸的是,我在Stackoverflow或互联网上找不到任何答案。显然,它是可能的,以现有的扩展,但这并不完全是我想要的 我很高兴得

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

我假设其他人也有这个问题,但不幸的是,我在Stackoverflow或互联网上找不到任何答案。显然,它是可能的,以现有的扩展,但这并不完全是我想要的

我很高兴得到任何提示或指点

提前谢谢

没有关于实现这一点的可靠方法的文档(Firefox<4中曾经有一种方法),但是您应该能够使用AddonManager API在附加代码中进行自己的依赖性检查:

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

AddonManager.getAllAddons(function(aAddons) {
  // Here aAddons is an array of Addon objects
});
更多信息:


此外,如果您通过主加载项站点()分发加载项,则最多可以列出您所依赖的三个加载项。这并不能阻止人们在没有依赖性的情况下安装您的加载项,但它应该为绝大多数加载项的潜在用户提供良好的用户体验。

感谢您的回答,幸运儿!这似乎应该行得通。在考虑了您的评论的含义之后,我进一步研究了这个主题,发现似乎可以调用其他扩展的函数,只要这两个扩展都是覆盖插件。我想有了这些信息,我应该能够让这一切顺利进行!