一种嵌入式浏览器接口动态扩展方法及系统技术方案

技术编号:8105550 阅读:225 留言:0更新日期:2012-12-21 04:04
本发明专利技术提供一种嵌入式浏览器JavaScript接口动态扩展方法及系统,包含:步骤1,浏览器以静态方式扩展JavaScript引擎的应用支撑接口、应用库载入接口和应用库卸载接口;步骤2,某一业务提供方进行其业务所需的若干应用接口的开发,并将所述开发的若干接口的代码编译成二进制形式的动态库文件并通过应用库载入接口存储到所述浏览器的内存中;步骤3,当所述浏览器在页面中解析到所述应用支撑接口时利用此接口在所述浏览器内存中查找所述业务提供方的若干应用接口的入口地址,如果找到则执行所述应用接口的程序,即实现了基于业务动态扩展所述浏览器的JavaScript接口;所述应用支撑接口为所述浏览器扩展的JavaScript接口,用于查找指定接口名的接口程序的入口地址,如果查找到,则执行扩展应用接口。

【技术实现步骤摘要】

本专利技术涉及浏览器
,特别涉及一种嵌入式浏览器接口动态扩展方法及系统
技术介绍
目前,嵌入式浏览器广泛应用于Internet-TV、iDVD、Web终端、数字电视机顶盒、家庭网关、掌上电脑等各种信息电器和便携式网络终端中,其作为中间件,已不仅仅是用于门户导航,还承担互联网内容接收、用户交互(Π)、视频业务导航、业务支撑等功能。为了支持各种业务的快速部署,浏览器必须具备可扩展的接口提供给业务应用。传统的设计方法是静态扩展JavaScript引擎,即在浏览器软件发布时,JavaScript对象和方法已经设计好。如果业务应用要增加新功能,必须修改浏览器内核代码,重新扩展 JavaScript对象或方法,然后重新编译测试后把浏览器运行库下载到机顶盒中。这种方法步骤繁琐,修改周期较长,无法对需求变化做出快速的响应,每添加一种新业务,必须升级浏览器才能扩展新的业务功能,使得浏览器与具体业务捆绑,这不符合浏览器作为中间件进行应用开发的原则。
技术实现思路
本专利技术的目的在于,为克服现有技术针对嵌入式浏览器的JavaScript接口采用静态扩展方式带来的步骤繁琐,修改周期较长,无法对需求变化做出快速的响应,每添加一种新业务,必须升级浏览器才能扩展新的业务功能,使得浏览器与具体业务捆绑等缺陷,从而提出一种嵌入式浏览器接口动态扩展方法及系统。本专利技术提供一种嵌入式浏览器JavaScript接口动态扩展方法,包含步骤1,浏览器以静态方式扩展JavaScript引擎的应用支撑接口、应用库载入接口和应用库卸载接口。步骤2,某一业务提供方进行其业务所需的若干应用接口的开发,并将所述开发的若干接口的代码编译成二进制形式的动态库文件。步骤3,上层应用程序或者业务页面根据业务的启动使用应用库载入接口将所述动态库文件存储到所述浏览器的内存中。步骤4,当所述浏览器在页面中解析到所述应用支撑接口时利用此接口在所述浏览器内存中查找所述业务提供方的若干应用接口的入口地址,如果找到则执行所述应用接口的程序,即实现了基于业务动态扩展所述浏览器的JavaScript接口。其中,所述应用支撑接口为所述浏览器扩展的JavaScript接口,该应用支撑接口可被页面调用,所述应用支撑接口依据业务提供方开发的接口的接口名从所述浏览器内存的动态库中查找指定接口名的接口程序的入口地址,如果查找到,则执行扩展应用接口 ;所述应用库载入接口和应用库卸载接口为浏览器扩展的接口,所述应用库载入接口将业务提供方的动态库文件载入到所述浏览器内存中;所述应用卸载接口用于释放业务提供方动态库文件占用的所述浏览器内存的动态库资源。上述技术方案中,所述步骤4之后还包含以下步骤用户退出业务时通过上层应用程序或者业务页面使用应用库卸载接口将业务提供方动态库所占用浏览器内存释放;其中,所述应用库卸载接口为浏览器扩展的接口,该接口用于释放业务提供方动态库文件占用的所述浏览器内存的动态库资源。所述应用库载入接口和应用库卸载接口可同时分别由上层应用库载入接口和上层应用库卸载接口替换;其中,所述上层应用库载入接口,为浏览器扩展的接口,该接口用于将业务提供方的动态库文件载入到所述浏览器内存中;所述上层应用库卸载接口,为浏览器扩展的接口,该接口用于释放业务提供方动态库文件占用的所述浏览器内存的动态库资源。所述调用浏览器的上层应用程序使用所述上层应用库载入接口和所述应用库卸·载接口在业务启动或关闭时加载和卸载业务提供方扩展的应用接口的二进制代码。基于以上方法本专利技术还提供一种嵌入式浏览器JavaScript接口动态扩展系统,该系统包含包含JavaScript引擎的浏览器、上层应用程序模块、业务应用接口单元,其特征在于,所述浏览器中的JavaScript引擎还包含应用支撑接口、应用库载入接口和应用库卸载接口;所述应用支撑接口用于依据接口名参数从所述浏览器内存中查找该接口名对应的扩展接口在动态库文件的入口地址并执行接口程序;所述应用库载入接口将业务提供方应用接口的动态库文件存储到所述浏览器的内存中;所述应用库卸载接口将释放业务提供方的动态库文件占用的浏览器内存;所述上层应用程序模块还包含上层应用库载入接口和上层应用库卸载接口 ;所述上层应用库载入接口用于将业务提供方应用接口的动态库文件存储到所述浏览器的内存中;所述上层应用库卸载接口用于将释放业务提供方应用接口的动态库文件占用的浏览器内存;所述浏览器还设置有内存单元,用于存放某一业务提供方按照扩展接口规范进行其业务所需的若干JavaScript接口代码编译成的二进制形式的动态库文件;所述应用支撑接口,依据业务提供方开发的接口程序的名字寻找该程序在所述浏览器内存中的地址指针。上述技术方案中,所述应用库载入接口进一步包含参数接受模块,该模块用于接收业务提供方动态库文件或文件列表所在的路径。所述应用库卸载接口输入参数包含业务提供方动态库文件或文件列表所在的路径。所述上层应用库载入接口的输入参数包含业务提供方动态库文件或文件列表所在的路径。所述上层应用库卸载接口的输入参数包含业务提供方动态库文件或文件列表所在的路径。本专利技术的优点在于,采用本专利技术的方法JavaScript解析引擎和业务功能使用应用支撑接口作为桥梁,业务功能更新时,只需要按照接口设计规范,在业务模块添加相应功能即可,无需将业务与浏览器的JavaScript引擎绑定,接口的扩展无需再修改浏览器,浏览器没有后续工作量,使得浏览器从静态扩展接口的长期维护中解放出来,业务扩展方便,升级和部署快。此外,此方法动态的加载业务库,减少了资源的耗费。以解决静态扩展JavaScript引擎的缺陷,能够快速扩展业务提供方应用的接口。附图说明图Ι-a是本专利技术的一种嵌入式浏览器接口动态扩展方法的流程图;图Ι-b是本专利技术的另一种嵌入式浏览器接口动态扩展方法的流程图;图2是本专利技术的嵌入式浏览器接口动态扩展系统的组成框图;图3是本专利技术的一个实施例的嵌入式浏览器JavaScript接口动态扩展运行流程图。具体实施方式 下面通过一个具体实施例对本专利技术的嵌入式浏览器JavaScript接口动态扩展方法做进一步阐述。本专利技术的浏览器预先在JavaScript引擎中静态扩展应用库载入接口、应用库卸载接口和一个应用支撑接口,并扩展上层应用库载入接口和上层应用库卸载接口 ;业务提供方将业务所需的应用接口编译成二进制动态库文件,业务页面制作时需要执行业务相关接口时调用浏览器的应用支撑接口,以业务接口名和对应于该业务的所需参数作为参数,其中所需接口参数是和接口功能相关的,不同接口所需参数不同,由业务接口确定作为输入参数提供给应用支撑接口。运行时,首先使用浏览器提供的应用库载入接口将业务提供方的动态库载入到浏览器内存中,然后当访问业务页面,浏览器JavaScript引擎解析到扩展的应用支撑接口,所述应用支撑接口运用输入参数中的业务接口名在内存中查找该业务接口名对应的接口程序的地址,如果找到则使用业务接口地址指针进行执行该业务接口。其次,业务接口执行完毕后的返回值由所述应用支撑接口返回给页面。最后,关闭该业务时,使用浏览器扩展的应用库卸载接口卸载内存中的业务提供方编译的接口程序的二进制动态库文件。 其中,浏览器动态加载和卸载业务提供方动态库文件本文档来自技高网...

【技术保护点】
一种嵌入式浏览器JavaScript接口动态扩展方法,包含:步骤1,浏览器以静态方式扩展JavaScript引擎的应用支撑接口、应用库载入接口和应用库卸载接口;步骤2,某一业务提供方进行其业务所需的若干应用接口的开发,并将所述开发的若干接口的代码编译成二进制形式的动态库文件;步骤3,上层应用程序或者业务页面根据业务的启动使用应用库载入接口将所述动态库文件存储到所述浏览器的内存中;步骤4,当所述浏览器在页面中解析到所述应用支撑接口时利用此接口在所述浏览器内存中查找所述业务提供方的若干应用接口的入口地址,如果找到则执行所述应用接口的程序,即实现了基于业务动态扩展所述浏览器的JavaScript接口;其中,所述应用支撑接口为所述浏览器扩展的JavaScript接口,该应用支撑接口可被页面调用,所述应用支撑接口依据业务提供方开发的接口的接口名从所述浏览器内存的动态库中查找指定接口名的接口程序的入口地址,如果查找到,则执行扩展应用接口;所述应用库载入接口和应用库卸载接口为浏览器扩展的接口,所述应用库载入接口将业务提供方的动态库文件载入到所述浏览器内存中;所述应用卸载接口用于释放业务提供方动态库文件占用的所述浏览器内存的动态库资源。...

【技术特征摘要】
1.ー种嵌入式浏览器JavaScript接ロ动态扩展方法,包含步骤1,浏览器以静态方式扩展JavaScript引擎的应用支撑接ロ、应用库载入接口和应用库卸载接ロ ; 步骤2,某ー业务提供方进行其业务所需的若干应用接ロ的开发,并将所述开发的若干接ロ的代码编译成ニ进制形式的动态库文件; 步骤3,上层应用程序或者业务页面根据业务的启动使用应用库载入接ロ将所述动态库文件存储到所述浏览器的内存中; 步骤4,当所述浏览器在页面中解析到所述应用支撑接ロ时利用此接ロ在所述浏览器内存中查找所述业务提供方的若干应用接ロ的入口地址,如果找到则执行所述应用接ロ的程序,即实现了基于业务动态扩展所述浏览器的JavaScript接ロ ; 其中, 所述应用支撑接ロ为所述浏览器扩展的JavaScript接ロ,该应用支撑接ロ可被页面调用,所述应用支撑接ロ依据业务提供方开发的接ロ的接ロ名从所述浏览器内存的动态库中查找指定接ロ名的接ロ程序的入口地址,如果查找到,则执行扩展应用接ロ ; 所述应用库载入接口和应用库卸载接ロ为浏览器扩展的接ロ,所述应用库载入接ロ将业务提供方的动态库文件载入到所述浏览器内存中;所述应用卸载接ロ用于释放业务提供方动态库文件占用的所述浏览器内存的动态库资源。2.根据权利要求I所述嵌入式浏览器JavaScript接ロ动态扩展方法,其特征在于,所述步骤4之后还包含以下步骤 用户退出业务时通过上层应用程序或者业务页面使用应用库卸载接ロ将业务提供方动态库所占用浏览器内存释放; 其中,所述应用库卸载接ロ为浏览器扩展的接ロ,该接ロ用于释放业务提供方动态库文件占用的所述浏览器内存的动态库资源。3.根据权利要求I所述嵌入式浏览器JavaScript接ロ动态扩展方法,其特征在于,所述应用库载入接口和应用库卸载接ロ可同时分别由上层应用库载入接口和上层应用库卸载接ロ替换; 其中, 所述上层应用库载入接ロ,为浏览器扩展的接ロ,该接ロ用于将业务提供方的动态库文件载入到所述浏览器内存中; 所述上层应用库卸载接ロ,为浏览器扩展的接ロ,该接ロ用于释放业务提供方动态库文件占用的所述浏览器内存的动态库资源。4.根据权利要求3所述嵌入式浏览器JavaScript接ロ动态扩展方法,其特征在于...

【专利技术属性】
技术研发人员:胡琳琳孙鹏邓峰刘春梅
申请(专利权)人:中国科学院声学研究所
类型:发明
国别省市:

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

1