一种跨浏览器自适应调用本地功能的装置和方法

文档序号:7645340阅读:164来源:国知局
专利名称:一种跨浏览器自适应调用本地功能的装置和方法
技术领域
本发明涉及互联网技术,特别涉及一种跨浏览器自适应调用本地功能 的装置和方法。
背景技术
出于安全性的考虑,浏览器是不允许网页直接访问本地的资源的。各 种浏览器会支持一些有一定安全保障的方式来调用本地功能IE支持初始 化和执行ActiveX组件脚本来提供额外的功能;很多其它浏览器靠Java Applet增加其功能,基于Mozilla的浏览器则可以通过使用跨平台组件对 象模块(Cross Platform Component Object Module,简称XPC0M)组件添 加它们自己的功能。ActiveX在广义上是指微软公司的整个COM架构,但是现在通常用来 称呼基于标准COM接口来实现对象连接与嵌入的ActiveX控件。后者是指 从VBX发展而来的,面向微软的Internet Explorer技术而设计的以OCX 为扩展名的OLE控件。通过定义容器和组件之间的接口规范,如果编写了 一个遵循规范的控件,那么可以很方便地在多种容器中使用而不用修改控 件的代码。同样,通过实现标准接口调用, 一个遵循规范的容器可以很容 易地嵌入任何遵循规范的控件。XPCOM是一个跨平台组件模型,实现了一个框架(framework),这个框 架中,它允许开发者打破单一整体的软件项目,而分解为多个更小的模块 化碎片(pieces),这些碎片也即组件(components)。 XPCOM的目标是允许 软件的不同模块能独立地在另一个环境下开发和构建。为了允许一个应用 程序内部组件间相互操作,XPCOM把组件分解为实现和接口两部分。同时, XPC0M也提供了几个工具和库,以便能够对组件和服务进行载入和操控处 理,这帮助了开发者写出模块化的跨平台代码,以及版本支持;因此,组 件能在不重构整个应用程序的情况下被更新或升级。使用XPC0M,开发者创 建的组件能被不同应用程序所重用,或者替换一个组件,来改变原来应用 程序的功能。目前微软的InternetExplorer(简称IE,最新的是IE7)是不支持XPC0M 的,而FireFox(—种基于Mozilla的浏览器,简称FF,目前最新的是FF2) 则不支持ActiveX。这导致了开发者为了使自己的网页程序适应这两种主流 浏览器不得不做重复的开发工作。传统的解决方法有如下两种,但都存在一些不足。一是使用ActiveX或者XPC0M中的一种,在访问页面的时候检测浏览 器,如果发现不支持,就通知用户。这样的话,会使部分用户无法使用功 能。二是分别用ActiveX或者XPC0M封装本地程序,根据不同的浏览器使 用各自不同的程序,这样做会维护两套程序,造成维护成本的浪费。调研显示目前在中国有97%左右的用户使用IE,有约2呢的用户使用FF, 剩下不到1%的用户在使用其他浏览器。因此,只要解决了 IE和FF调用本
地方法的兼容问题,就能使绝大部分用户通过浏览器顺利调用本地功能。 发明内容本发明的目的在于,提供一种跨浏览器自适应调用本地功能的装置, 能够解决现有技术中因浏览器不支持致使部分用户无法使用本地功能或多 种浏览器各自封装本地程序维护成本高的问题。本发明的这一 目的是通过如下技术方案实现的一种跨浏览器自适应调用本地功能的装置,包括有通过浏览器访问 的网页、可供所述网页调用和创建与多种浏览器相适应的可供网页创建和 调用的控件、HTTP服务器、客户端功能执行模块;所述HTTP服务器与所述 可供网页创建和调用的控件交互;所述可供网页创建和调用的控件还用于 下载客户端功能执行模块,所述HTTP服务器还调用所述客户端功能执行模 块。具体地,所述HTTP服务器接收可供网页创建和调用的控件发过来的 HTTP请求,并且根据HTTP请求的参数将请求转化为具体的对所述客户端功 能执行模块的调用。所述浏览器是IE或FF,相应所述可供网页创建和调用的控件是 ActiveX控件或XPC0M组件。本发明的另一目的在于,提供一种跨浏览器自适应调用本地功能的方 法,能够解决现有技术中因浏览器不支持致使部分用户无法使用本地功能 或多种浏览器各自封装本地程序维护成本高的问题。本发明的这一目的是通过如下技术方案实现的一种跨浏览器自适应调用本地功能的方法,所述浏览器用于访问网页、 所述网页可创建和调用与多种浏览器相适应的可供网页创建和调用的控 件,所述可供网页创建和调用的控件下载和安装客户端功能执行模块,其 特征在于,设置一与多种浏览器相适应的可供网页创建和调用的控件交互的HTTP服务器;所述HTTP服务器用于接收可供网页创建和调用的控件发 过来的HTTP请求,并且根据HTTP请求的参数将请求转化为具体的对所述 客户端功能执行模块的调用。所述浏览器是IE或FF,相应所述可供网页创建和调用的控件是 ActiveX控件或XPCOM组件。其包括如下步骤步骤一访问网页,判断是否属于初次访问;如是,执行步骤二;如 不是直接执行步骤三;步骤二判断浏览器的类型,根据浏览器决定相应安装可供网页创建 和调用的控件,并通过所述可供网页创建和调用的控件下载安装客户端功 能执行模块;同时安装与所述可供网页创建和调用的控件交互的HTTP服务 器;步骤三根据浏览器,初始化所述可供网页创建和调用的控件,并向 所述HTTP服务器发出调用所述客户端功能执行模块的请求;步骤四所述HTTP服务器收到调用请求后,然后根据请求参数调用所 述客户端功能执行模块;步骤五返回数据。本发明把可供网页创建和调用的控件从具体业务处理中独立出来,成为单纯的业务请求代理,通过HTTP服务器使得多种浏览器在访问同一个页 面时可以访问相同的本地功能(即相同的业务处理程序)。开发者不需要分 别为用于多种浏览器的可供网页创建和调用的控件写多套调用本地功能的 程序,极大减少程序的维护成本。


图1为本发明所述一种跨浏览器自适应调用本地功能的装置的结构示意图; 图2为本发明所述一种跨浏览器自适应调用本地功能的方法的流程图。
具体实施方式
如图1所示, 一种跨浏览器自适应调用本地功能的装置,包括有通 过浏览器访问的网页1、可供所述网页调用和创建与多种浏览器相适应的可供网页创建和调用的控件2、 HTTP服务器3、客户端功能执行模块4;所述 HTTP服务器3与所述可供网页创建和调用的控件2交互;所述可供网页创 建和调用的控件2还用于下载客户端功能执行模块4,所述HTTP服务器3 调用所述客户端功能执行模块4。本实施例中,所述浏览器是IE或FF,相 应所述可供网页创建和调用的控件是ActiveX控件或XPC0M组件。具体地,所述HTTP服务器3接收所述可供网页创建和调用的控件2发 过来的HTTP请求,并且根据HTTP请求的参数将请求转化为具体的对所述 客户端功能执行模块4的调用。所述HTTP服务器3得到的调用请求无论来 自ActiveX控件,还是来自XPCOM组件,所述HTTP服务器3调用的客户端 功能执行模块4是同一套本地功能程序。为了保证数据调用的安全性,可以将所述可供网页创建和调用的控件2
的功能加以扩展,使其能够验证调用网页l的来源,以及对HTTP请求做签 名;另外,可以使所述客户端功能执行模块4具有验证HTTP请求签名的合 法性的功能。
如图2所示, 一种跨浏览器自适应调用本地功能的方法,其包括如下 步骤
步骤一访问网页,判断是否属于初次访问;如是,执行步骤二;如 不是直接执行步骤三;
步骤二判断浏览器是IE或是FF,根据浏览器决定相应安装ActiveX 控件或是XPC0M组件;并通过可供网页创建和调用的控件下载、安装客户 端功能执行模块;同时安装与所述可供网页创建和调用的控件交互的HTTP 服务器;
步骤三根据浏览器,初始化ActiveX控件或是XPC0M组件,所述 ActiveX控件或是XPC0M组件向所述HTTP服务器发出调用所述客户端功能 执行模块的请求;
步骤四所述HTTP服务器收到调用请求后,然后根据请求参数调用所 述客户端功能执行模块。 步骤五返回数据。
上述实例把可供网页创建和调用的控件~~ActiveX或XPCOM从具体业 务处理中独立出来,成为单纯的业务请求代理,通过IE或FF访问同一个 页面时可以访问相同的本地功能(即相同的业务处理程序)。这样就不需要 分别为IE或FF分别创建相应的业务处理程序,ActiveX或XPC0M仅作为调 用同一套业务处理程序的代理。即一次安装客户端,ActiveX和XPC0M就可
共用客户端功能执行模块,极大减少程序的维护成本。 下面是本发明在本申请人的产品中的典型例子 产品类型安全类软件。
当用户首次访问主界面(网页)时,页面脚本会判断用户使的浏览器
是支持Act i veX还是XPC0M。然后要求用户安装相应的Act i veX控件或XPCOM 组件。经过用户同意,ActiveX控件或XPCOM组件会主动下载、安装运行于 本地的客户端功能执行模块。
以上实施例仅用以说明而非限制本发明的技术方案;如果本领域的技 术人员受到本发明的启发,不脱离本发明精神和范围的任何修改或局部替 换,均应涵盖在本发明的保护范围当中。
权利要求
1、 一种跨浏览器自适应调用本地功能的装置,包括有通过浏览器访 问的网页、可供所述网页创建和调用与多种浏览器相适应的可供网页创建 和调用的控件、由所述可供网页创建和调用的控件下载和安装的客户端功能执行模块;其特征在于,所述装置还包括HTTP服务器;所述HTTP服务 器与所述可供网页创建和调用的控件交互;所述HTTP服务器还调用所述客 户端功能执行模块。
2、 根据权利要求1所述的一种跨浏览器自适应调用本地功能的装置, 其特征在于,所述HTTP服务器接收所述可供网页创建和调用的控件发过来 的HTTP请求,并且根据HTTP请求的参数将请求转化为具体的对所述客户 端功能执行模块的调用。
3、 根据权利要求1或2所述的一种跨浏览器自适应调用本地功能的装 置,其特征在于,所述浏览器是IE或FF,相应所述可供网页创建和调用的 控件是ActiveX控件或XPC0M组件。
4、 一种跨浏览器自适应调用本地功能的方法,所述浏览器用于访问网 页、所述网页可创建和调用与多种浏览器相适应的可供网页创建和调用的 控件,所述可供网页创建和调用的控件下载和安装客户端功能执行模块, 其特征在于,设置一与多种浏览器相适应的可供网页创建和调用的控件交 互的HTTP服务器;所述HTTP服务器用于接收可供网页创建和调用的控件 发过来的HTTP请求,并且根据HTTP请求的参数将请求转化为具体的对所 述客户端功能执行模块的调用。
5、 根据权利要求4所述的一种跨浏览器自适应调用本地功能的方法, 其特征在于,所述浏览器是IE或FF,相应所述可供网页创建和调用的控件 是ActiveX控件或XPC0M组件。
6、 一种跨浏览器自适应调用本地功能的方法,其特征在于,其包括如 下步骤步骤一访问网页,判断是否属于初次访问;如是,执行步骤二;如不 是直接执行步骤三;步骤二判断浏览器的类型,根据浏览器决定相应安装可供网页创建和 调用的控件,并通过所述可供网页创建和调用的控件下载安装客户端功能 执行模块;同时安装与所述可供网页创建和调用的控件交互的HTTP服务器;步骤三根据浏览器,初始化所述可供网页创建和调用的控件,并向所述HTTP服务器发出调用所述客户端功能执行模块的请求;步骤四所述HTTP服务器收到调用请求后,然后根据请求参数调用所述客户端功能执行模块; 步骤五返回数据。
7、 根据权利要求6所述的一种跨浏览器自适应调用本地功能的方法, 其特征在于,所述浏览器是IE或FF,相应所述可供网页创建和调用的控件 是ActiveX控件或XPC0M组件。
全文摘要
本发明涉及一种跨浏览器自适应调用本地功能的装置,其包括有通过浏览器访问的网页、可供所述网页创建和调用与多种浏览器相适应的可供网页创建和调用的控件、由所述可供网页创建和调用的控件下载和安装的客户端功能执行模块;所述装置还包括HTTP服务器;所述HTTP服务器与所述可供网页创建和调用的控件交互;所述HTTP服务器还调用所述客户端功能执行模块。并提供了一种跨浏览器自适应调用本地功能的方法,该装置和方法都可以解决因浏览器不支持致使部分用户无法使用本地功能或多种浏览器各自封装本地程序维护成本高的问题。
文档编号H04L29/08GK101146119SQ20071003105
公开日2008年3月19日 申请日期2007年10月25日 优先权日2007年10月25日
发明者何卫东, 军 李, 段雨洛 申请人:珠海金山软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1