Javascript调用ocx控件

转载 2012年03月29日 16:51:23
网上已经有很多相关的论述,不过最近我做个B/S的项目,还是费了不少劲。是他们写的太笼统,还是我过于愚钝呢,呵呵。

拿我用的XMPPClient.ocx为例:

《object classid="clsid:D6D2E2CC-2DB1-4361-AA 7C-3198C6B6F296" id="ocx01" name="ocx01" codebase="WEB-INF/lib/XMPPClient.ocx" width="32" height="32"》《/object》

这是大多数在页面上加.ocx控件的做法。那么那个classid怎么得到的?大多数网上的讨论并没有给出。——估计是太EASY了,不过咱是菜鸟啊。

将控件注册后,(这一步倒是讲解的人很多),“开始——运行——regedit”打开注册表,查找“XMPPClient.ocx”,可以看到
Javascript调用ocx控件

这里给出了一串ID号,估计是这个了。按上面的格式设置,然后在.js文件中调用这个.ocx控件

var m_ocx01 = document.getElementByIdx (“ocx01”);

// 设置属性

m_ocx01.UserName = “hazard”;

// 调用方法

var bReturn = m_ocx01.Login ();

到这里就要报错了:
Javascript调用ocx控件

试了很多回,都是这个错误。属性可以读写,可函数不能调用。

解决办法:

用Visual Stadio 6.0的工具:OLE/VIEW

 

Javascript调用ocx控件

在它的 Type Libraries中找到注册的这个控件。

 

Javascript调用ocx控件Javascript调用ocx控件

可以看到它内部的组成:里面的那个uuid和刚才从注册表里找到的一样。

Javascript调用ocx控件

不过我要用的属性和方法都在那个coclass里面,而它的uuid和上面的不同。

Javascript调用ocx控件

将《object》classid改写,再次调用方法就成功了。

另:

Javascript调用ocx控件

这里面有很多的注册控件和组件。如果是* Library类型的,则可以用

var obj = new ActiveXObject (“COLBCATLib.COLBCatalog”);

的方法得到它的对象,然后直接操作就可以了。而* Control类型的,则只能用

var m_ocx01 = document.getElementByIdx (“ocx01”);

的方法得到。而且由于它不能直接创建coclass的对象,所以要注意uuid的变化

相关文章推荐

Javascript调用OCX控件

Javascript调用OCX控件什么是ocx控件?对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的程序。想知道究竟的可以看看这个帖子。htt...

javascript调用ocx控件[转]

1.找出相关信息,主要是classid 首先我们的给这个ocx起个名字,起什么名字通过最后生成的ocx控件的文件名决定。 第二,我们的找到这个ocx的编号值,将ocx提取出来,我采用Microsoft...

IE浏览器下OCX控件的兼容问题(续集)——Javascript代码实现

本文主要讲解如何解决OCX控件在浏览器上使用的兼容性问题,并给出相应的Javascript代码实现。...

js调用ocx控件(cab后缀)

JS调用控件的方式很简单哦: 如果是微软提供的IE浏览器,则可以在VS2008开发工具中建立一个OCX插件,其class-id由开发工具自动帮你生成。只要在JS中使用标签,在该标签中的class...
  • jlx1986
  • jlx1986
  • 2014年05月15日 10:55
  • 1698

vc6.0 调用ocx控件

1.       ActiveX控件简介          ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持...
  • Road2010
  • Road2010
  • 2014年04月26日 09:36
  • 12858

java使用jacob调用OCX控件1

通过 JACOB 实现 Java 与 COM 组件的互操作 软件的互操作性是一个我们经常面临的问题,如果 Java 可以自由的调用其他语言和平台的成熟代码,可以充分利用您的 Java...

Java调用ocx控件以及dll

通过Java调用OCX控件有几种方法,JNI、JACOB、Jawin等 1.JNI 最直接的方式,也是最麻烦的方式,需要自己完成所有的工作,不推荐。 2.Jawin 尝试了一下,效果不错,但相对来...

vc6.0 调用ocx控件

1.       ActiveX控件简介          ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持...
  • ghython
  • ghython
  • 2015年10月08日 09:35
  • 190

C++编写ActiveX ocx控件在网页中调用失败问题

需要实现IObjectSafety接口  打“开工程名Ctl.h”在最上面添加     #include          在类中的DECLARE_DYNCREATE(C工程名Ctr...
  • li213y
  • li213y
  • 2016年01月06日 16:30
  • 131

网页里面调用OCX控件的一般方法

这里简单介绍如何在网页中调用ocx控件,以及简单解释下网页源码的意思,对于入门的同学可以解决一些最基本的疑惑,我当时在实现的时候都源码都不知道什么意思,所以碰到问题总司云里雾里,了解了这些基本概念对于...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Javascript调用ocx控件
举报原因:
原因补充:

(最多只允许输入30个字)