IE插件开发

本文介绍了IE扩展的三种方式,包括上下菜单、工具栏和BHO对象。重点讨论了接口调用示例,通过window.external对象调用插件接口,并展示了如何设置回调函数,当事件发生时,插件会通知Web页面进行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     又叫IE 扩展(Internet Explorer Extension),是一种通过使用IE的扩展机制实现的组件,该组件可以实现对现有IE功能的扩展。IE具有以下扩展方式:

    上下菜单(Context menu extensions):在上下文菜单中加入自定义的菜单,以执行自定义的命令,实现IE功能的扩展。

    工具栏(Toolbars):常见的IE插件就是各种IE工具栏。它是以IE工具栏的形式集成在IE中,即实现IE功能的扩展,也实现IE界面的扩展。常用的IE工具栏有百度工具栏、Google工具栏等。

     BHO对象(Browser Helper Objects):这种扩展只能实现IE功能的扩展,而无法实现IE界面的扩展。

接口调用示例

开发人员在Web页面中通过window.external对象使用插件提供的控制接口。如:

     int  OffHookCtrl (int iChannel)      

Web页面中调用方法如下:

window.external.OffHookCtrl( iChannel )

       插件以通知的方式将事件报告给IE中的所有页面,页面可以选择处理还是不处理这些事件。

回调函数形式

       开发人员可以指定一个页面中的脚本函数作为回调函数,当有重要事件发生时,插件会通过回调函数通知页面。

 

       上图表示,当有事件发生时,插件会调用名为EventHanldScript的函数以通知页面。页面中脚本函数形式如下:

   <script language="JavaScript">

        <!--事件通知调用EventHandleScript-->

        function EventHandleScript( strEventData )

        {

            //处理事件

            var WM_CALLERID = '' + (0x0400 + 106),

            WM_INDTMF = '' + (0x0400 + 101);

 

        var event = context.match(/EventID=([\w]+)/i),

            ani = context.match(/ANI=([\w]*)/i),

            dnis = context.match(/DNIS=([\w]*)/i),

            data = context.match(/EventData=([^\&]*)/i),

            info = context.match(/DetailInfo=([^\&]*)/i);

 

        if (!event) return;

        event = event[1];

        if (ani) ani = ani[1];

        if (dnis) dnis = dnis[1];

        if (data) data = data[1];

        if (info) info = info[1];

        

        //如果是振铃事件

        if (WM_CALLERID == event && ani) 

        {

            openPortal(ani);

            ……

        } 

    }

    </script>


 

        回调函数要求有一个参数,此参数用于接收事件数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值