我对火狐扩展开发的经验非常有限(阅读XUL学校,编写了几个非常简单的扩展)。
我现在需要一些通过Firefox XPCOM对象不可用的功能,即运行外部进程并读取其标准输出。这似乎可以使用普罗托齐拉来完成。因此,现在我的问题是将这个外部XPCOM对象包含在我的XPI中,这样我的扩展就可以使用它了。
我应该明确地指出,我的问题不是如何构建XPCOM对象,因为我已经有了他们的构建,如果我需要更改一些东西,我已经有了他们的makefile。我的问题是:我现在该怎么办?我的扩展树看起来像
/ ->铬/ ->->内容 -> -> -> -> ->-皮肤 ->违约/ ->优惠/ -> ->单元/ -> ->铬酸 ->install.rdf
我应该在哪里包含XPCOM文件?我需要做些什么来告诉Firefox一个新的XPCOM对象是可用的吗?
发布于 2010-08-08 15:17:54
来自Mozilla开发者中心,
XPCOM组件 Firefox在扩展中支持XPCOM组件。您可以轻松地在JavaScript或C++中创建自己的组件(使用Gecko )。 将所有的.js或.dll文件放在
components/目录中--在安装扩展名后第一次运行火狐时,它们会自动注册。
发布于 2010-08-08 16:17:22
您可以使用nsIProcess启动进程,让它写入已知的位置,然后使用nsIFile从该文件中读取。
发布于 2011-05-30 20:03:39
Protozilla派生了以下内容:http://mozilla-enigmail.org/ipc/,您可以在那里找到启用xulrunner的二进制文件,这些二进制文件应该允许您调用外部进程。
该代码已经包含在Mozilla代码库中(10年后,请参阅bug.cgi?id=68702和http://hg.mozilla.org/ipccode/),但据我所知,它在Firefox 4中是不可用的。
https://stackoverflow.com/questions/3434776
复制相似问题