从Firefox插件调用COM对象

从Firefox插件调用COM对象,firefox,com,Firefox,Com,我即将接手一个需要Firefox插件来调用安装在客户端Windows机器上的COM dll的项目,我很难估计这项工作的复杂性 我对COM有相当多的经验,所以我不害怕它。我对Firefox插件的经验较少,但我不认为这就是我的问题所在 有人做过那样的事吗 Firefox是否允许其插件与外界自由通信 有没有这样的插件或示例代码(谷歌提供了一些有用的结果) > >更新:当然,我更希望一个不需要在C++中建立扩展的解决方案,如果可能的话。< P>创建一个C++,像往常一样和COM对象交谈。然后,可以让J

我即将接手一个需要Firefox插件来调用安装在客户端Windows机器上的COM dll的项目,我很难估计这项工作的复杂性

我对COM有相当多的经验,所以我不害怕它。我对Firefox插件的经验较少,但我不认为这就是我的问题所在

有人做过那样的事吗

Firefox是否允许其插件与外界自由通信

有没有这样的插件或示例代码(谷歌提供了一些有用的结果)


<> > >更新:当然,我更希望一个不需要在C++中建立扩展的解决方案,如果可能的话。

< P>创建一个C++,像往常一样和COM对象交谈。然后,可以让Javascript使用XPCOM扩展来完成扩展的其余部分(我想主要是GUI)。但是,这就是我对它的理解:-(<

< p>)创建一个C++,像往常一样和你的COM对象交谈。然后,可以让Javascript使用XPCOM扩展来完成扩展的其余部分(我想主要是GUI)。然而,这就是我对它的全部理解:-)

您可能对扩展感兴趣,它是开源的。我没有看过,但我想它确实可以访问Com来使用IE的显示器。

您可能会对扩展感兴趣,它是开源的。我还没有看过,但我想它确实可以访问Com来使用IE的显示器。

如果你这样做,你几乎肯定需要使用XPCOM。看看Shanti Rao,它在Javascript中支持COM/ActiveX。ActiveX文件位于一个名为wrap_com.cpp的文件中。它支持大多数IDispatch接口;IDispatch的Invoke方法是实现此功能的魔法


这有多复杂取决于您希望从Javascript实现的“简单程度”。如果您实现了一个名为IDispatchObject的XPCOM东西,您必须在其中传入方法名&一个参数数组,那么这可能并不太难。如果您想创建一个通用的方法来对COM对象进行动态绑定&直接引用它们,那么这就更难了。。。不确定JSDB中使用的技术是否会延续到XPCOM。

如果这样做,几乎肯定需要使用XPCOM。看看Shanti Rao,它在Javascript中支持COM/ActiveX。ActiveX文件位于一个名为wrap_com.cpp的文件中。它支持大多数IDispatch接口;IDispatch的Invoke方法是实现此功能的魔法

这有多复杂取决于您希望从Javascript实现的“简单程度”。如果您实现了一个名为IDispatchObject的XPCOM东西,您必须在其中传入方法名&一个参数数组,那么这可能并不太难。如果您想创建一个通用的方法来对COM对象进行动态绑定&直接引用它们,那么这就更难了。。。不确定JSDB中使用的技术是否会延续到XPCOM