网页中调用 控件(OCX)

网页中调用 C# 编写的OCX 控件的方法:

一、 通过 <object></object> 标签 进行控件的引入。 注意:原生js 就可以调用不需要其他支持。

<object id="ocx" width="1000" height="1000" classid="clsid:7D827EC4-1ACA-4241-953A-BC57ABC451CE" ></object>

 

js 中调用方法: 

let temp = ocx.GetCheckResult();  // 可以直接通过ID 调用

也可以 通过id 获取对象之后进行操作:

let reader = document.getElementById("ocx");

let temp = reader.GetCheckResult();  //控件中的方法

这种方式,是通过将控件植入到网页中显示,并通过操作 object 所对应的对象的方法。

1、object 是一个标签,它符合所有的标签属性操作;

2、id 属性是object 对象的唯一入口,必须存在; classid 对应注册表上的注册信息,必须一致(去除大括号) ;codeBase 对应版本信息 包括对应的位置和版本批次(可以不写,如果是本地自主安装,不影响操作);

3、使用控件的时候,需注意控件的初始化是否需要属性设置,属性的设置通过 param 标签,name:属性名  value:属性值

<object classid="clsid:06CA9432-D9BD-4867-8475-770B131E1759" codeBase="JITDSign.ocx#version=2,0,20,5" id="JITDSignOcx" size="0" style="display:none" width="0">

<param name="_Version" value="65536" valuetype="data"/>

<param name="_ExtentX" value="2646" valuetype="data"/>

<param name="_ExtentY" value="1323" valuetype="data"/>

<param name="_StockProps" value="0" valuetype="data"/>

</object>

 

二、 通过调用  ActiveX 进行控件的调用,直接通过注册表名称进行调用

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

 

 

三、 我的最终解决方案是通过 C# 调用该控件,外放它的方法,进行调用的。

 

 


错误信息: 提示 this is not a function.   

解决: 大概率是浏览器支持的问题,换用IE 浏览器解决问题,兼容的问题没有进行探究。不过引用网友的回复:

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


//判断登陆类型

if(!window.ActiveXObject){

alert("对不起,证书登陆请使用IE浏览器!");

return;

}

 

启用 OCX 控件的时候,注意浏览器的设置:启用 ActiveX ;关闭 证书检查项(选项 -> 高级 -> 安全)

 


错误信息:提示对象查找不到巴拉巴拉的。。。。 查看 Codebase 属性对应的路径是否有效。有可能是这个问题。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值