js如何调用ocx控件?

JavaScript014

js如何调用ocx控件?,第1张

首先ocx控件要在网页上引用,形如:<object id="ocxobj" classid="xxx.xxx.xxx"></object>

然后在js中,就可以通过

var myocx = document.getElementById("ocxobj")

来得到这个控件对象

myocx变量能够执行控件的方法,也能够访问控件的属性

原理其实很简单的,JSP上用OBJECT引用该控件,然后可以像操作普通HTML控件一样调用其中的方法,给你个简单的示例吧,前几天刚做的一个控件,用VB做的ocx,封装一批DLL成CAB包,功能是调用RFID读卡器读写RFID卡的内容,这个示例就是在页面上如何引用读卡器的控件并调用其中的方法。

引用:

<OBJECT

ID="uc"

CLASSID="CLSID:6A2CFD1D-FDDA-4B8A-A56D-7CFEA75E2C76"

CODEBASE="RFIDReader.CAB#version=1,0,0,0">

</OBJECT>

方法调用:

var

res

=

document.getElementById("uc").RFID_write(str)

其中RFID_write()是控件提供的方法。

1.对于64位机器,将厂商提供的.dll文件拷贝到 C:\Windows\System32 目录下,将.ocx文件拷贝到C:\Windows\SysWOW64 目录下。

2.注册*.ocx文件。管理员身份。在“运行”中直接输入“regsvr32 c:\Windows\SysWOW64\ZT_DIT.ocx”.将其注册成功,如果注册失败,有可能是没有取得管理员权限,根据报错内容在网上搜索解决办法。

3.注册成功后,需要取得注册的.ocx的classid,便于在页面中引用。w+r(win10),打开运行。输入regedit,打开注册表,查找你注册的ocx

右键(复制项名称)将复制的粘贴到写字板,就知道clsid了, 取得clsid后写入带页面中,:

eg: <OBJECT id="ZTIDC"  style="width:400pxheight:500" type="application/x-oleobject" classid="CLSID:2BC73BDF-3532-441D-9F50-00649C2ADB85">

</OBJECT>

这样,在ie中就可以调用了!但是,在火狐和谷歌调用不了,甚至连界面都出不来。

在网上下载了

将axhost.r39.xpi拖入到火狐浏览器,结果报:此附加组件无法安装。。。。经过查资料,要更改火狐的一些设置,地址栏键入:about:config 修改为false