首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在火狐扩展中使用NPRuntime插件

在火狐扩展中使用NPRuntime插件
EN

Stack Overflow用户
提问于 2010-02-20 15:03:26
回答 2查看 1.2K关注 0票数 0

通过将NPRuntime插件复制到firefox目录,我已经成功地在网页上运行了它。我想使用它创建一个firefox扩展,所以我创建了一个小扩展,它在状态栏上显示一个文本框和一个按钮,单击按钮调用一个javascript函数,该函数从textbox获取值,并作为参数传递给嵌入在XUL中的NpRuntime插件中的函数。

但是,当我试图调用函数时,我会得到Javascript异常,因为该变量为null。

代码语言:javascript
复制
try{
var myplugin=document.getElementById("myplugin");
myplugin.test(document.getElementById("txtUri").value);// calling function
}catch(e){
alert(e.message); //throws the error as myplugin is null
}

,当我删除函数调用时,没有错误的,所以嵌入标记被javascript识别。我在firefox插件目录中保存了一个插件dll。我也尝试在扩展根目录下创建一个插件目录,并将我的dll保存在其中,但它没有成功

请帮我走,

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-21 00:09:41

“嵌入在XUL中”

多么?我打赌您在XUL名称空间中使用,它没有任何特殊的含义。

你应该定义HTML命名空间并在html命名空间中使用嵌入标记

当我删除函数调用时,没有错误,因此嵌入标记被javascript识别。

这是错误的。如果删除函数调用,就没有代码可以失败-- getElementById从不抛出(至少在这样简单的情况下不会抛出)。这并不表示您的XUL代码是好的。

我也尝试在扩展根目录下创建一个插件目录,并将我的dll保存在其中,但是它没有成功。

那是肯定会起作用的。你能在某个地方放一个XPI来演示这个问题吗?

票数 1
EN

Stack Overflow用户

发布于 2011-09-27 16:45:43

从Firefox扩展中调用NPAPI插件是很棘手的。其中一个选项似乎有点麻烦,就是将插件实际注入DOM中,DOM表示浏览器UI。

一个更好的选择是在页面加载到浏览器时修改它们的DOM:

可编写脚本的NPAPI插件不适用于Firefox

或者您可以跳过NPAPI插件,使用js-ctype:

在火狐扩展中使用用火呼吸生成的插件?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2302582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档