一种浏览器控件的封装方法及装置制造方法及图纸

技术编号:3854063 阅读:243 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供了一种浏览器控件的封装方法及装置,所述方法具体包括:首先通过对JAVA脚本的应用函数接口的扩展,将自定义的方法事件封装于浏览器控件中;当所述浏览器通过JAVA脚本调用应用函数接口时,浏览器控件调用相应的函数映射器为所述自定义方法事件的函数分配相应的标识;通过所述标识获得该自定义方法事件的函数和该函数的参数;根据该自定义方法事件的函数和该函数的参数,调用相应的应用函数接口来执行该自定义的方法事件。通过以上技术方案的实施,就可以使浏览器控件和客户端更加好的进行整合,提高了扩展性;同时所有的应用程序接口都可以动态的添加,函数标识的映射关系也更加的灵活。

【技术实现步骤摘要】

本专利技术涉及网络通信领域,尤其涉及一种浏览器控件的封装方法及装置
技术介绍
目前,浏览器控件的封装在很多场合都得到了应用,以微软的IE浏览器控件来说,例如在微软MFC类库中CHtmlview对微软浏览器IE控件的封装等应用。我们以JAVA脚本JavaScript调用window. external, api—myfunction函数的一次调用过程来进行说明,现有技术方案的一次函数调用过程如下步骤l: JavaScript调用函数接口window. external.印i—myf皿ction;步骤2: IE浏览器控件调用IDispatch: :GetIDsO预ames方法取得函数名对应的id,如果没有实现该函数名映射关系,浏览器控件将不处理该方法;步骤3: IE浏览器控件调用IDispatch::Invoke方法,获得标识id和函数中的参数信息;步骤4:处理器根据预定义的标识调用相应的处理流程。从以上所公开的方案可知,现有技术的浏览器控件封装应用中,和客户端代码的整合并不强,扩展性的利用也很不足;且现有技术实现的是固定的函数标识及其映射关系,这样所有的映射关系是预先设定好的,不能够动态的添加,记忆标识也就比较困难。
技术实现思路
本专利技术实施例提供了一种浏览器控件的封装方法及装置,能够使浏览器控件和客户端更加好的进行整合,提高了扩展性;同时所有的应用程序接口都可以动态的添加,函数标识的映射关系也更加的灵活。本专利技术实施例提供了一种浏览器控件的封装方法,所述方法包括通过对JAVA脚本的应用函数接口的扩展,将自定义的方法事件封装于浏览器控件中;当浏览器通过JAVA脚本调用应用函数接口时,所述浏览器控件调用相应的函数映射器为所述自定义方法事件的函数分配相应的标识;通过所述标识获得所述自定义方法事件的函数和该函数的参数;根据所述自定义方法事件的函数和该函数的参数,调用相应的应用函数接口来执行该自定义的方法事件。在所述将自定义的方法事件封装于浏览器控件中之后,所述方法还包括创建封装管理器,通过所述封装管理器来保存封装的自定义方法事件的函数和该函数的参数。在所述创建封 装管理器之后,所述方法还包括用户通过在所述封装管理器中创建自定义方法事件的函数,来添加自定义的外部应用程序接口。在所述创建封装管理器之后,所述方法还包括在不同浏览器之间实现JAVA脚本函数的相互调用,具体为第一浏览器获取第二浏览器中的JAVA脚本函数的标识和参数信息;根据所述标识和参数信息在所述封装管理器中找到相应的第二浏览器的JAVA脚本函数;调用所找到的JAVA脚本函数,实现不同浏览器之间的JAVA脚本函数的相互调用。所述浏览器为微软浏览器IE。本专利技术实施例还提供了一种浏览器控件的封装装置,所述装置包括-浏览器封装单元,用于通过对JAVA脚本的应用函数接口的扩展,将自定义的方法事件封装于浏览器控件中;标识分配单元,用于在浏览器通过JAVA脚本调用应用函数接口时,调用相应的函数映射器为所述自定义方法事件的函数分配相应的标识;参数获取单元,用于通过所述标识分配单元所分配的标识来获得所述自定义方法事件的函数和该函数的参数;执行处理单元,用于根据所述参数获取单元所获取的自定义方法事件的函数和该函数的参数,调用相应的应用函数接口来执行该自定义的方法事件。所述装置还包括封装管理单元,用于保存封装的自定义方法事件的函数和该函数的参数,并提供跨浏览器调用的应用函数接口。所述装置还包括跨浏览器调用单元,用于在不同浏览器之间实现JAVA脚本函数的相互调用。 所述装置集成设置于客户端中。由上述所提供的技术方案可以看出,首先通过对JAVA脚本的应用函数接口的扩展, 将自定义的方法事件封装于浏览器控件中;当所述浏览器通过JAVA脚本调用应用函数接 口时,浏览器控件调用相应的函数映射器为所述自定义方法事件的函数分配相应的标 识;通过所述标识获得该自定义方法事件的函数和该函数的参数;根据该自定义方法事 件的函数和该函数的参数,调用相应的应用函数接口来执行该自定义的方法事件。通过 以上技术方案的实施,就可以使浏览器控件和客户端更加好的进行整合,提高了扩展 性;同时所有的应用程序接口都可以动态的添加,函数标识的映射关系也更加的灵活。附图说明图l为本专利技术实施例l所提供的浏览器控件封装方法的流程示意图; 图2为本专利技术实施例2所提供的浏览器控件封装装置的结构示意图。具体实施例方式本专利技术实施例提供了一种浏览器控件的封装方法及装置,通过对JAVA脚本函数接口 的扩展,将用户自定义的方法事件封装于浏览器控件中,从而使浏览器控件和客户端更 加好的进行整合,提高了扩展性;同时所有的应用程序接口都可以动态的添加,函数标 识的映射关系也更加的灵活。实施例h为更好的描述本专利技术实施方式,现结合附图对本专利技术的具体实施例进行说明,如图l 所示为本专利技术实施例l所提供的浏览器控件封装方法的流程示意图,所述方法包括步骤ll:扩展JAVA脚本的应用函数接口,封装浏览器控件。在本步骤中,首先通过对JAVA脚本应用函数接口的扩展,可以将自定义的方法事件 封装于浏览器控件中。具体在封装时,可以在JAVA脚本应用函数接口中增加相应事件的 参数和函数描述,将该自定义的方法事件封装在浏览器控件中。在具体实现过程中,所述的浏览器可以为微软浏览器IE,也可以是其他类型的浏览 器,例如火狐等。步骤12:当浏览器调用应用函数接口时,通过相应的函数映射器为该自定义方法事6件的函数分配相应的标识。在本步骤中,当加载网页WEB时,浏览器通过JAVA脚本调用应用函数接口,浏览器控 件调用相应的函数映射器为所述自定义方法事件的函数分配相应的标识。在具体实现过程中,如果是首次接收到所述自定义方法事件的函数名的映射请求, 则可以为该自定义方法事件的函数分配一个未使用的标识ID,并保存映射关系;如果不 是首次请求,则可以从已经有的映射关系中提取出保存的对应的标识ID。步骤13:通过标识获得所述自定义方法事件的函数和该函数的参数。在本步骤中,可以由浏览器控件根据该获得的标识从相应的管理数据库中来获得所 述自定义方法事件的函数和该函数的参数。在具体实现过程中,可以创建封装管理器,利用该封装管理器来保存封装的自定义 方法事件的函数和该函数的参数,这样浏览器控件就可以根据获得的标识从该封装管理 器中获得所需要的函数和该函数的参数。举例来说,以具体的编程实例来进行说,创建封装器,并管理封装器的编程实例如下class IBrowserManager (浏览器管理) { public:〃创建指定名字pszName的浏览器封装接口 , pBrowser将指向该接口 virtual BOOL Create(LPCTSTR pszName,IBrowser承氺pBrowser)=0;〃获取指定名字的浏览器接口virtual IBrowser* GetBrowser(LPCTSTR pszName)=0;〃销毁指定名字的浏览器接口virtual B00L DestroyeBrowser(LPCTSTR pszName)=0; 〃对所有的浏览器调用名字为name的Javascript函数virtual void BrowserlnvokeProc(LPCTSTR本文档来自技高网...

【技术保护点】
一种浏览器控件的封装方法,其特征在于,所述方法包括: 通过对JAVA脚本的应用函数接口的扩展,将自定义的方法事件封装于浏览器控件中; 当浏览器通过JAVA脚本调用应用函数接口时,所述浏览器控件调用相应的函数映射器为所述自定义方法 事件的函数分配相应的标识; 通过所述标识获得所述自定义方法事件的函数和该函数的参数; 根据所述自定义方法事件的函数和该函数的参数,调用相应的应用函数接口来执行该自定义的方法事件。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄朝兴郭必坚
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1