浏览器封装系统及方法

文档序号:6381773阅读:923来源:国知局
专利名称:浏览器封装系统及方法
技术领域
本发明涉及一种通用浏览器结构及方法,更具体地说,涉及一种浏览器封装系统及方法。
背景技术
C/S架构程序通过客户端编程,可以很好地利用客户端PC机的性能,充分利用客户端机器的本地硬件,需要调用客户端硬件设备的程序多采用这种架构。B/S架构程序具有部署简单、客户端维护成本低等优点。用户量大,业务逻辑复杂多变的程序多采用这种架构,但B/S架构在开发过程中也碰到不少的问题。例如,由于目前浏览器对W3C标准支持程度不一,在开发系统界面时,为了兼容各种浏览器,需要针对多种浏览器及同一浏览器不同版本进行针对性开发。另外,浏览器对客户端本地硬件资源的调用有很大的限制,不同浏览器有不同的限制,在需要调用客户端本地资源的程序中,难以兼容多种浏览器。为了能让开发的程序具有B/S程序部署简单、维护方便的优点,又具有C/S程序可方便调用客户端资源的优点,解决浏览器版本不一致带来的编程难度加大问题,是本领域有待解决的一个技术问题。

发明内容
本发明的目的旨在提供一种浏览器封装系统及方法,来解决现有技术中存在的各种不足。根据本发明,提供一种浏览器封装系统,包括浏览器层、插件调用代理层和插件层,各层之间通过COM技术相互调用。浏览器层包括多个浏览器内核,浏览器内核接收服务器的HTML数据,并进一步解析和展现HTML数据,插件调用代理层屏蔽插件在各种浏览器中的调用差异,插件层包括多个功能插件,功能插件由JavaScript调用。根据本发明的一实施例,还包括外部调用对象,与插件调用代理层交互,用以调用浏览器的外部方法。根据本发明的一实施例,插件层包括打印插件,打印插件包括打印模板和内嵌打印控制脚本,打印模板提供打印参数输入和打印组件插入,内嵌打印控制脚本提供打印数据转换、判断、统计、触发事件、控制输出。根据本发明的一实施例,插件层包括指纹插件,指纹插件提取用户指纹特征,将指纹特征与用户信息绑定,并保存到服务器端,指纹插件还包括指纹修改和指纹校验单元。根据本发明的一实施例,插件层包括数据库插件,数据库插件封装文件型关系数据库的操作API,通过JavaScript把需要保存在本地的数据写入到文件中。根据本发明的一实施例,插件层包括浮动提示插件,根据配置设定的时间定时访问远程服务器,生成弹出提示框,提示框上包括文本和链接。根据本发明的另一方面,还提供一种浏览器封装方法,包括以下步骤将多个浏览器内核封装成浏览器层,浏览器内核接收服务器的HTML数据,并进一步解析和展现所述HTML数据;生成插件调用代理层,用以屏蔽插件在各种浏览器中的调用差异;将多个功能插件封装成插件层,功能插件由JavaScript调用;浏览器层、插件调用代理层和插件层之间通过COM技术相互调用。根据本发明的一实施例,插件调用代理层与一个外部调用对象交互,外部调用对象用以调用浏览器的外部方法。根据本发明的一实施例,在插件层中设置打印插件,打印插件包括打印模板和内嵌打印控制脚本,打印模板提供打印参数输入和打印组件插入,内嵌打印控制脚本提供打印数据转换、判断、统计、触发事件、控制输出。根据本发明的一实施例,在插件层中设置指纹插件,指纹插件提取用户指纹特征,将指纹特征与用户信息绑定,并保存到服务器端,指纹插件还包括指纹修改和指纹校验单
J Li o根据本发明的一实施例,在插件层中设置数据库插件,数据库插件封装文件型关系数据库的操作API,通过JavaScript把需要保存在本地的数据写入到文件中。根据本发明的一实施例,在插件层中设置浮动提示插件,根据配置设定的时间定时访问远程服务器,生成弹出提示框,提示框上包括文本和链接。采用了本发明的技术方案,能够同一客户端的W3C标准,提供可扩展的插件服务、优化访问效率、并且提供安全的操作控制。


在本发明中,相同的附图标记始终表示相同的特征,其中图1是本发明浏览器封装系统的结构示意图;图2是本发明一实施例的浏览器封装系统的结构示意图;图3是本发明浏览器封装方法的流程图。
具体实施例方式下面结合附图和实施例进一步说明本发明的技术方案。面对用户数量众多的政府、企业型客户,其客户端情况复杂,常用的浏览器包括IE、Chrome> Firefox、Opera、Safari等,在规划设计定制浏览器客户端时,需要综合考虑这些因素,通过浏览器封装技术实现客户端环境的虚拟统一化。浏览器封装技术的设计目标如下1.统一客户端W3C标准无论客户端采用何种浏览器、浏览器版本多少,均能通过浏览器封装技术,实现统一的网页浏览效果、JS特效展示;2.可扩展的插件服务通过插件封装技术,将原有需要独立安装的报表定制打印系统、PDF文件阅读器、指纹硬件控制AP1、数据库AP1、数据加密解密API等封装为浏览器客户端插件,方便本地资源的随时调用;3.优化的访问效率通过浏览器封装技术,屏蔽大量商用、免费浏览器的多余工作,使整个客户端简捷纯粹,减少了内存占用、资源消耗,提高工作效率;4.安全的操作控制面对电子政务、企业管理等特色B/S架构的操作习惯进行优化,支持方便快捷的快捷键操作,同时屏蔽用户常见的误操作、非法操作,全面控制应用系统的安全性。参照图1,本发明的浏览器封装系统10包括了浏览器层11、插件调用代理层13和插件层12,各层之间通过COM技术相互调用。总的来说,通过浏览器内核封装技术实现统一客户端W3C标准的需求。通过功能插件封装技术,让BS程序可以通过JavaScript调用插件接口实现客户端本地资源调用需求。具体来说,通过浏览器封装技术内嵌浏览器的内核,统一客户端W3C标准,做到无论客户端采用何种浏览器、浏览器版本多少,均能通过浏览器封装技术,实现统一的网页浏览效果、JS特效展示。浏览器封装技术还可以根据不同程序的需求来封装不同的“浏览器内核”。例如在使用Ext、JQuery组件比较多的BS程序中,我们可以封装JavaScript性能较好的FireFox、Chrome内核,提高程序运行效率;面对某些IE Only的BS程序,我们可以封装IE内核,满足用户升级自身系统浏览器又不影响系统使用的要求。如图2所示,浏览器层11是浏览器内核的实现,浏览器层11包括多个浏览器内核,例如IE、Chrome、Firefox、Opera、Safari等常见的浏览器内核。利用这些浏览器内核,可以分别接收服务器的HTML数据,并进一步解析和展现HTML数据。在一个实际的应用例子中,用户通过浏览器层11向服务器发起数据请求,服务器返回HTML数据到浏览器层11,浏览器层11利用封装的各种浏览器内核解析并展现HTML数据。插件层12包括多个功能插件121 126,是各个插件的具体实现,如图1所示,在一个具体实施例中,功能插件有打印插件121、数据库插件122、指纹插件123、PDF插件124、加密解密插件125、浮动提示插件126,等等。所有的功能插件121 126由JavaScript调用。插件调用代理层13屏蔽插件在各种浏览器中的调用差异,针对浏览器的标准进行封装。在浏览器层11中,有一个比较特殊的对象“window, external ”,通过它可以调用浏览器提供的外部方法。例如window, external. addFavorite该方法可以把网址添加到浏览器收藏夹中。我们扩展window, external对象,让其可以直接与插件调用代理层13交互,调用插件代理层13提供的COM接口,那么我们就可以在JavaScript中通过“window, external, xxx”的方式来调用插件层12提供的方法。通过扩展window, external对象,为浏览器提供了本地打印、指纹校验、本地数据库访问、提示信息等插件,丰富了浏览器的功能。下面来选择性地介绍插件层12中的几个插件打印插件121、数据库插件122、指纹插件123、浮动提示插件126。打印插件121“打印”是一般用户普遍使用得比较多的功能,但是BS程序能够提供的打印功能较弱,特别是对套打、条码打印、进纸控制等基本上不能适应相关要求,“打印插件”就打印的特点进行了针对性设计。其相关功能如下一、打印模板设计提供了所见即所得的模板设计方式,用户可以很方便地使用拖拉的方式设计出打印模板,并能在设计阶段随时调用预览看到打印时的效果。打印模板中可以插入图片、二维码、条形码等组件,满足用户的各种打印需求。二、内嵌打印控制脚本内嵌的打印控制脚本可以在打印模板中实现的数据转换、判断、统计、触发事件、控制输出等功能三、打印预览在打印之前预览打印的效果,打印预览还能把当前打印结果输出为PDF, Excel、Word、图片等格式文档。四、直接打印直接把需要打印的数据输出到打印机上。例如,结合上述的扩展window, external对象,在一个实际的使用例中,用户点击相关按钮触发JavaScript函数调用“插件”接口,假设调用打印插件121接口,就可以利用打印插件121来定制打印模板,打印数据,预览打印效果。打印插件121的调用方法如下//获取打印数据Var dataUrl=/ test/corpbase. xml';//获取打印模板Var moduleUrl=/ test/corpbase. fr3';Il向服务器请求数据的xmlhttp对象Var xmlHttpObj=XmlHttp. create ();Il保存打印模板的服务器方法Var saveUrl=/ test/save, do';//向服务器提交的查询参数Var sendData=' uuid=123';//调用报表设计接口window, external. DesigeReport(dataUrl, module,xmlHttpO bj,saveU rl,sendData);数据库插件122数据库插件122封装了文件型关系数据库的操作API,让BS程序可以通过JavaScript把需要保存在客户端本地的数据通过接口写入到客户端文件中。在某些场合,我们可能需要在不同的页面共享同一份数据,那么我们可以使用JavaScript调用数据库插件122接口,把需要共享的数据写入本地数据库中,然后在其他页面上读取。我们也可以利用数据库插件122缓存在本地数据,在程序下次启动时读取,减少服务器端与客户端的通信量提高程序性能。数据库插件122的主要功能为一、写入数据把Json格式的数据写入数据库中。二、查询数据根据条件来检索数据库中的值,查询结果以Json格式返回。三、更新数据根据条件来更新数据库中的值。指纹插件123指纹插件123封装了指纹硬件操作API,提供了指纹注册,指纹修改,指纹校验功能,其主要功能如下一、指纹注册提取用户指纹特征,并把指纹特征绑定到用户之下保存到服务器端。二、指纹修改修改绑定在用户之下的指纹特征。
三、指纹校验根据用户录入的用户名校验其录入指纹特征的正确性,实现指纹登陆功能。浮动提示插件126浮动提示插件126为程序提供了消息提醒,并响应消息的功能。其主要功能为—、消息接收根据配置设定的时间,定时访问远程服务获取最新消息。二、消息提醒接收到新的消息后,弹出提示框提醒用户有新的消息到达,如果没有可提示的信息,这消息提示框自动隐藏。三、点击跳转用户点击消息链接,根据消息设定的内容打开相关内容,并跳转到该页面上,方便用户处理业务。总结上述的浏览器封装系统10可见,本发明的浏览器封装方法主要步骤为步骤301 :将多个浏览器内核封装成浏览器层,浏览器内核接收服务器的HTML数据,并进一步解析和展现所述HTM L数据。步骤302 :生成插件调用代理层,用以屏蔽插件在各种浏览器中的调用差异。此外插件调用代理层还与一个外部调用对象交互,外部调用对象用以调用浏览器的外部方法。步骤303 :将多个功能插件封装成插件层,功能插件由JavaScript调用。浏览器层、插件调用代理层和插件层之间通过COM技术相互调用。步骤304:在插件层中设置打印插件,其中打印插件包括打印模板和内嵌打印控制脚本,打印模板提供打印参数输入和打印组件插入,内嵌打印控制脚本提供打印数据转换、判断、统计、触发事件、控制输出。步骤305 :在插件层中设置指纹插件,其中指纹插件提取用户指纹特征,将指纹特征与用户信息绑定,并保存到服务器端,指纹插件还包括指纹修改和指纹校验单元。步骤306 :在插件层中设置数据库插件,其中数据库插件封装文件型关系数据库的操作API,通过JavaScript把需要保存在本地的数据写入到文件中。步骤307 :在插件层中设置浮动提示插件,根据配置设定的时间定时访问远程服务器,生成弹出提示框,提示框上包括文本和链接。本技术领域中的普通技术人员应当认识到,以上的说明书仅是本发明众多实施例中的一种或几种实施方式,而并非用对本发明的限定。任何对于以上所述实施例的均等变化、变型以及等同替代等技术方案,只要符合本发明的实质精神范围,都将落在本发明的权利要求书所保护的范围内。
权利要求
1.一种浏览器封装系统,其特征在于,包括 浏览器层、插件调用代理层和插件层,各层之间通过COM技术相互调用; 所述浏览器层包括多个浏览器内核,所述浏览器内核接收服务器的HTML数据,并进一步解析和展现所述HTML数据; 所述插件调用代理层屏蔽插件在各种浏览器中的调用差异; 所述插件层包括多个功能插件,所述功能插件由JavaScript调用。
2.如权利要求1所述的浏览器封装系统,其特征在于,还包括 外部调用对象,与所述插件调用代理层交互,用以调用浏览器的外部方法。
3.如权利要求1所述的浏览器封装系统,其特征在于 所述插件层包括打印插件,所述打印插件包括打印模板和内嵌打印控制脚本,所述打印模板提供打印参数输入和打印组件插入,所述内嵌打印控制脚本提供打印数据转换、判断、统计、触发事件、控制输出。
4.如权利要求1所述的浏览器封装系统,其特征在于 所述插件层包括指纹插件,所述指纹插件提取用户指纹特征,将所述指纹特征与用户信息绑定,并保存到服务器端,所述指纹插件还包括指纹修改和指纹校验单元。
5.如权利要求1所述的浏览器封装系统,其特征在于 所述插件层包括数据库插件,所述数据库插件封装文件型关系数据库的操作API,通过JavaScript把需要保存在本地的数据写入到文件中。
6.如权利要求1所述的浏览器封装系统,其特征在于 所述插件层包括浮动提示插件,根据配置设定的时间定时访问远程服务器,生成弹出提示框,所述提示框上包括文本和链接。
7.—种浏览器封装方法,其特征在于,包括以下步骤 将多个浏览器内核封装成浏览器层,所述浏览器内核接收服务器的HTML数据,并进一步解析和展现所述HTML数据; 生成插件调用代理层,用以屏蔽插件在各种浏览器中的调用差异; 将多个功能插件封装成插件层,所述功能插件由JavaScript调用; 所述浏览器层、插件调用代理层和插件层之间通过COM技术相互调用。
8.如权利要求7所述的浏览器封装方法,其特征在于 插件调用代理层与一个外部调用对象交互,所述外部调用对象用以调用浏览器的外部方法。
9.如权利要求7所述的浏览器封装方法,其特征在于 在所述插件层中设置打印插件,所述打印插件包括打印模板和内嵌打印控制脚本,所述打印模板提供打印参数输入和打印组件插入,所述内嵌打印控制脚本提供打印数据转换、判断、统计、触发事件、控制输出。
10.如权利要求7所述的浏览器封装方法,其特征在于 在所述插件层中设置指纹插件,所述指纹插件提取用户指纹特征,将所述指纹特征与用户信息绑定,并保存到服务器端,所述指纹插件还包括指纹修改和指纹校验单元。
11.如权利要求7所述的浏览器封装方法,其特征在于 在所述插件层中设置数据库插件,所述数据库插件封装文件型关系数据库的操作API,通过JavaScript把需要保存在本地的数据写入到文件中。
12.如权利要求7所述的浏览器封装方法,其特征在于 在所述插件层中设置浮动提示插件,根据配置设定的时间定时访问远程服务器,生成弹出提示框,所述提示框上包括文本和链接。
全文摘要
本发明揭示了一种浏览器封装系统及方法,包括浏览器层、插件调用代理层和插件层,各层之间通过COM技术相互调用。浏览器层包括多个浏览器内核,浏览器内核接收服务器的HTML数据,并进一步解析和展现HTML数据,插件调用代理层屏蔽插件在各种浏览器中的调用差异,插件层包括多个功能插件,功能插件由JavaScript调用。采用了本发明的技术方案,能够同一客户端的W3C标准,提供可扩展的插件服务、优化访问效率、并且提供安全的操作控制。
文档编号G06F9/44GK102999337SQ20121046990
公开日2013年3月27日 申请日期2012年11月20日 优先权日2012年11月20日
发明者张曙华, 杨安荣, 张志红, 路斌, 张元利 申请人:上海中信信息发展股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1