我使用C ++编写了一个firefox插件,并使用<EMBED>
将其加载到html。
在javascript中,我使用document.getElementByID获得了嵌入式插件, 但是当我试图调用一个插件函数时,该函数是未定义的。此外, 插件构造函数在加载页面时没有运行。
相同的html文件和插件似乎可以在某些计算机上运行,但它不适用于其他计算机。
有没有人知道可能会出错? 我该如何调试这样的问题?
答案 0 :(得分:1)
您可以先在计算机上重现吗?如果没有,那么试着找出他们正在使用的系统,浏览器,架构,版本。
我记得,有许多GECKOSDK,每个都有一个适用的特定版本。 https://developer.mozilla.org/en/gecko_sdk例如,适用于Firefox 1.5-2.0,FireFox 3.0,Firefox 3.5和Firefox 3.5的不同SDK
对于不同的浏览器,请确保您正在公开正确的DLL导出,浏览器可能会有所不同:http://git.webvm.net/?p=npsimple是一个很好的起点。您也可以使用firebreath.googlecode.com作为替代方案。
答案 1 :(得分:0)
我的建议是使用对象标记而不是<embed>
。根据我的经验,似乎并不可靠。
如果我有关于插件结构的更多信息(您使用的是XPCOM还是npruntime?),我可能会提供更多帮助。