无法调用firebreath dll函数

时间:2015-07-22 06:08:15

标签: javascript firefox-addon xul firebreath

我的firefox插件是使用firebreath框架编写的。它完全可以运行到Firefox的第28版。对于更高版本,我无法通过firefox插件从我的javascript页面调用firebreath dll的功能。它在样本html文件中工作得很好。我还附上了我的源代码供您参考。

调用firebreath dll函数:

var plugin = document.getElementById('dllID');
if(plugin.valid)
{
    var ngInfo = plugin.ReturnUsers(param1, param2);
    if(ngInfo.length >0)
    {
        // do something
    }
}

Overlay.xul:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/"?>
<overlay id="guardOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml">
<script type="application/x-javascript" src="chrome://guard/content/ngContent.js"/>
    <vbox style="height:0;">
        <html:embed type="application/x-guard" id="guard" style="height:0;"/>
    </vbox>
</overlay>

在捕获异常时显示, TypeError:plugin.ReturnUsers不是函数

有谁知道我的问题的解决方案??

1 个答案:

答案 0 :(得分:0)

最有可能的问题是你最终运行的是64位版本的firefox; 64位版本的firefox只运行64位版本的插件。尝试安装32位版本的firefox 28或将插件重建为64位。