我使用绑定的可执行文件开发Firefox扩展程序,该文件应在浏览器启动时运行。
为了运行进程,我需要获取指向可执行文件的nsIFile或nsILocalFile实例。 我知道一种解决方案可以使用目录服务来获取它:
为了运行进程,我需要获取指向可执行文件的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>");
但是这种解决方案有两个缺点:
在开发模式下,当我只有实际扩展路径的文本文件而不是已安装的扩展时,它无法工作。
由于路径中硬编码的“extensions”部分,我不确定它是否适用于所有Firefox配置
那么有没有更好的方法来运行随Firefox扩展一起提供的可执行文件呢?
谢谢。