我计划在不久的将来开始编写Firefox扩展程序,并发现我希望扩展程序具有的部分功能已在另一个扩展程序中完成。现在我想知道是否可以编程使用另一个扩展功能的扩展(即现有扩展必须在我的之前安装)。例如是否可以调用另一个扩展函数?
我并不是试图将某些elses作为我自己的工作(因此依赖于现有的扩展),我只是认为可能没有必要对两次相同的功能进行编程。
我认为其他人也有这个问题/疑问,但不幸的是我在Stackoverflow或互联网上找不到任何答案。显然可以change现有的扩展,但这不是我想要的。
我很高兴有任何提示或指示! 提前谢谢!
答案 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)分发附加组件,则可以列出最多三个您自己依赖的附加组件。这并不能阻止人们在没有依赖性的情况下安装你的插件,但它应该为绝大多数插件的潜在用户提供良好的用户用户体验。