Firefox - 如何列出已安装的扩展并在列表中识别它们?

DVK*_*DVK 5 javascript firefox firefox-addon

两个相关问题:

  1. 是否有 API 可以生成 Firefox 中所有已安装扩展的列表?

  2. 如果是这样,我将如何唯一标识扩展名?我需要的是有一个 ID,它可以通过不同版本的扩展程序持续存在,最好是通过重命名(因此名称可能不是最佳选择)。是GUID吗?

谢谢!

Nic*_*lay 3

注意:这个答案已经过时了。nsIExtensionManager 已替换为AddonManager,并且 FUEL 已弃用。

您可以从 nsIExtensionManager 获取项目列表。是的,扩展有一个唯一的 ID ( nsIUpdateItem::id),如安装清单中所指定

再想一想,这就是 FUEL 真正有用的地方。在错误控制台中尝试以下操作:

Application.extensions.all.forEach(function(item) { alert(item.id) })
Run Code Online (Sandbox Code Playgroud)