关于js调用ocx控件报错"对象不支持此属性或方法"的解决方法

在web中用js调用ocx时有两种方法,第一种,动态调用:

1,用名称调用,var ocx=new ActiveXObject("JITDSIGN.JITDSignCtrl.1");

第二种,静态调用:在body中加入object,


然后在js中根据id调用:

var ocx=document.getElementById("JITDSignOcx");

当然,这两种方法必须先在系统中注册该ocx控件,注册方法就是把ocx控件复制到system32下,在运行中输入:regsvr32 控件名.ocx,会提示注册成功;


ocx只能在IE浏览器中运行,可以用下面的方法判断是否支持ocx:

//判断登陆类型
if(!window.ActiveXObject){
alert("对不起,证书登陆请使用IE浏览器!");
return;
}


加了上面的代码后,如果调用ocx的方法,还是提示"对象不支持此属性或方法"错误,有两种情况,第一,就是ocx本身有问题,但如果已经有人使用,就可以排除是ocx本身的问题,第二,就是引用的js代码有问题,如调用的ocx方法名错误,还有一种情况就是定义时,没有添加参数param,有些ocx控件必须加上参数才能正确调用ocx的方法,浪费了我一天的时间,开始我以为是代码的问题,后来与其他开发人员沟通,发现我的定义里没有param name参数,才导致此错误,我的妈呀~~~


完整的ocx定义:


你可能感兴趣的:(js/javascript)