Mozillar
小狐狸
小狐狸
  • UID22743
  • 注册日期2008-01-25
  • 最后登录2009-08-07
  • 发帖数21
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:3587回复:1

求助!如何在JS中获取XPCOM组件

楼主#
更多 发布于:2008-07-11 17:06
大家好,我在www.mozilla.org上的XPCOM的一篇文档看到一个weblock组件例子,关于这个组件的描述如下:
http://www.mozilla.org/projects/xpcom/b ... okTOC.html

我没有找到完整的源代码,只找到了编译连接好的组件和相关文件,如下:
http://www.brownhen.com/weblock
1 我没有安装,只是把所有文件放在了各自应该在的目录下
2 将文件中的chrome路径全部修改成了file绝对路径.
3 能够显示weblock对话框

我只有一点疑问就是:获取不到weblock组件:
var weblock = Components.classes["@dougt/weblock"].getService();
weblock = weblock.QueryInterface(Components.interfaces.iWebLock);

weblock定义为全局变量
我又加了如下两句测试
if(weblock)
alert("Succeed!");
else
alert("Failed!");

结果显示的是Failed!是不是说明没有获取这个组件?
如果没有获取到,那么怎样才能正确获取这个组件呢?难道安装过程不仅仅是把文件放到合适的文件夹下,还有其他作用?我找了components下的2个dat文件也没有发现相应的contractID和接口名iWebLock.到底是什么原因导致无法获取组件呢?我使用的是ff3.0RC,难道是XPCOM接口不兼容的原因?请大家帮忙,谢谢!
Mozillar
小狐狸
小狐狸
  • UID22743
  • 注册日期2008-01-25
  • 最后登录2009-08-07
  • 发帖数21
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2008-07-11 17:06
原因已找到,可结贴
游客

返回顶部