我最近在做一个关于ocx控件的软电话项目。 ocx必须嵌入到IE浏览器中,以实现电话呼叫、呼叫、锁定、监听和状态通知功能。
软手机在原项目中已经实现,目前需要将软手机集成到IE中,不可避免地需要通过JS和Activex技术实现。 我的开发环境是MVC
6.0、使用的开发语言为c和javascript。
首先,新建立了ocx控制项目,然后添加相应的代码,基于接口方式,实现了电话的来电和拨打。
第二,它需要与网页进行交互,因此需要提供基于activex技术的方法和事件。 activex的方法(method )为js提供接口调用,实现控件内部的功能。 activex的事件(event )是通过触发器调用js的函数,用于实现状态显示等功能。 构造回调函数,与js实现回调函数的实体相同。 举个例子:
Test page for HDWebCall ActiveX
bgcolor=' # ccccccc ' style=' color :
#000000 '
! --object代码的一部分实现ocx控件的加载。
ID='WebSCallActiveX '
class id=' clsid 336093 c 5cb 95-d7be-4ac9- a29f-257 BC 250 b8f3'
width='300' height='192 '
code base=' webscallactivex.ocx # version=1,0,0,1 '
! -以下代码实现按钮,单击该按钮可调用js函数Btncall_onclick ()
实现电话呼叫。
align='right' style='width:
305px '
id=btncallstyle=' background-image : URL (BTN.gif ); WIDTH: 95px;
BORDER-TOP-STYLE: none; 字体文件: verdana; BORDER-RIGHT-STYLE:
不; BORDER-LEFT-STYLE: none; HEIGHT: 40px; BACKGROUND-COLOR:
传输; border-bottom-style : none 'nclick=' return
BTN call _ onclick (' type=button align=right value=调用
name=BtnCall
! -以下代码实现了用于输入编号的编辑框。
style=' border-right : # 6699661 px solid; BORDER-TOP: #669966 1px
固态; border-left : # 6699661 px solid; WIDTH: 110px; BORDER-BOTTOM:
#669966 1px solid; 字体文件: verdana; HEIGHT: 20px '
id='EditCalled '
! -以下代码是JS脚本函数的部分。
函数BTN call _ onclick (
{
调用WebSCallActiveX的HDCALL方法,传递的参数EditCalled.value为字符类型且编号为document.getelementbyidx _ x _ x (x (webscallaction ) )
}
! -以下代码实现ocx控件的触发事件ShowStauts。 参数是Status字符串。
event='showstauts(status ) '
showstautsj(Status;
//触发事件的处理函数
函数showstautsj (status ) )。
{
//将状态写入日志。
if(status==1) ) )。
AddToStatusLogList (“偶像”
);
if(status==2) ) )。
AddToStatusLogList (“通话”
);
}