我使用捆绑的可执行文件开发 Firefox 扩展,该文件应该在浏览器启动时运行。
要运行进程,我需要获取指向可执行文件的 nsIFile 或 nsILocalFile 实例。我知道一种解决方案如何使用目录服务来获取它:
var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("ProfD", Components.interfaces.nsIFile);
file.append("extensions");
file.append("<extension id>");
file.append("<relative path>");
但是这个解决方案有两个缺点:
它在开发模式下不起作用,当我没有安装扩展时,我只有具有真实扩展路径的文本文件
由于路径的硬编码“扩展”部分,我不确定它是否适用于所有 Firefox 配置
那么有没有更好的方法来运行 Firefox 扩展附带的可执行文件?
谢谢。