一种网页浏览器及通过网页浏览器调用本地应用程序的方法

文档序号:6628029阅读:1111来源:国知局
一种网页浏览器及通过网页浏览器调用本地应用程序的方法
【专利摘要】本申请公开了一种通过网页浏览器调用本地应用程序的方法,包括:A、网页浏览器根据用户触摸或者点击的操作,通过网页加载本地应用程序的配置信息和参数,并将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器;B、应用程序包装器根据所述配置信息和参数运行相应的本地应用程序,并且将运行结果展示在网页界面上。本申请还公开了一种网页浏览器。
【专利说明】一种网页浏览器及通过网页浏览器调用本地应用程序的方法

【技术领域】
[0001]本申请涉及计算机【技术领域】,尤其涉及一种网页浏览器及通过网页浏览器调用本地应用程序的方法。

【背景技术】
[0002]用户在通过网页浏览器显示windows桌面应用程序时,不能在浏览器网页中直接运行应用程序,而是需要首先下载该应用程序并进行安装之后,才能运行该应用程序;另一方面,即使用户设备本地已经安装了用户需要的应用程序,用户在浏览网站需要运行本地的应用程序时,也只能在其他界面运行应用程序,而无法嵌入在网页中直接运行显示。
[0003]因此,现有技术中存在以下缺点:
[0004]1、网页中一般需要使用专门的插件调用应用程序,用户交互性差,降低了用户体验;
[0005]2、网页中调用本地应用程序时,不能对程序窗口进行封装管理,因此无法在网页中直接运行。


【发明内容】

[0006]本申请提供了一种网页浏览器及通过网页浏览器调用本地应用程序的方法,可以在网页中直接运行本地应用程序。
[0007]本申请实施例提供了一种通过网页浏览器调用本地应用程序的方法,包括:
[0008]A、网页浏览器根据用户触摸或者点击的操作,通过网页加载本地应用程序的配置信息和参数,并将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器;
[0009]B、应用程序包装器根据所述配置信息和参数运行相应的本地应用程序,并且将运行结果展示在网页界面上。
[0010]较佳地,步骤B之后,进一步包括:
[0011]C、本地应用程序运行后,网页显示是否关闭所述应用程序的按钮,或者在一定的时间间隔内对程序进行关闭操作。
[0012]较佳地,应用程序包装器根据所述配置信息和参数运行相应的本地应用程序包括:
[0013]应用程序包装器启动时,利用进程类启动本地应用程序,本地应用程序启动后调用事件处理委托,然后调用行动委托传入参数;
[0014]在行动委托中,通过调用应用程序编程接口来判断本地应用程序进程是否已经启动完成,然后调用API函数将指定的本地应用程序嵌入当前的自定义控件。
[0015]较佳地,本地应用程序的配置信息包括一个URL连接文件,所述URL连接文件中包含表示本地应用程序的启动路径的配置项。
[0016]较佳地,本地应用程序的配置信息包括一个文件名为dmb.conf的配置文件。
[0017]较佳地,步骤A之前,进一步包括:对本地应用程序进行初始化,所述初始化包括:
[0018]读取本地应用程序的配置文件,并且生效本地应用程序所需的JSON文件;
[0019]启动本地应用程序的所需的索引文件,索引文件格式为Javascript,其中包含了启动应用程序所需的信息,以便触摸互动程序进行加载。
[0020]较佳地,将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器是通过谷歌浏览器嵌入式框架CEF的消息机制实现的。
[0021]本申请实施例还提供了一种网页浏览器,包括:加载模块和应用程序包装器;
[0022]所述加载模块用于根据用户触摸或者点击的操作,通过网页加载本地应用程序的配置信息和参数,并将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器;
[0023]所述应用程序包装器用于根据所述配置信息和参数运行相应的本地应用程序,并且将运行结果展示在网页界面上。
[0024]较佳地,所述网页浏览器进一步包括:
[0025]程序关闭模块,用于在本地应用程序运行后,在网页上显示是否关闭所述应用程序的按钮,或者在一定的时间间隔内对程序进行关闭操作。
[0026]较佳地,应用程序包装器进一步包括:
[0027]进程类启动单元,用于在应用程序包装器启动时,利用进程类启动本地应用程序;
[0028]事件处理委托单元,用于在本地应用程序启动后调用事件处理委托;
[0029]行动委托单元,用于通过调用应用程序编程接口来判断本地应用程序进程是否已经启动完成,然后调用API函数将指定的本地应用程序嵌入当前的自定义控件。
[0030]较佳地,本地应用程序的配置信息包括一个URL连接文件,所述URL连接文件中包含表示本地应用程序的启动路径的配置项。
[0031]较佳地,本地应用程序的配置信息包括一个文件名为dmb.conf的配置文件。
[0032]较佳地,网页浏览器进一步包括:初始化模块,用于读取本地应用程序的配置文件,并且生效本地应用程序所需的JSON文件;启动本地应用程序的所需的索引文件,索引文件格式为Javascript,其中包含了启动应用程序所需的信息,以便触摸互动程序进行加载。
[0033]较佳地,将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器是通过谷歌浏览器嵌入式框架CEF的消息机制实现的。
[0034]从以上技术方案可以看出,通过配置本地应用程序目录中的配置信息和创建本地应用程序的URL连接文件,以便封装在网页浏览器内的应用程序包装器对本地应用程序进行调用,从而实现直接在网页中运行本地应用程序。本申请方案无需进行安装插件的方式来运行本地运用程序,操作简单,配置灵活,能够增强用户交互性和用户体验。

【专利附图】

【附图说明】
[0035]图1为本申请提供的通过网页浏览器调用本地应用程序的基本流程示意图;
[0036]图2为本申请实施例提供的网页浏览器调用本地应用程序显示的流程示意图;
[0037]图3为本申请另一实施例提供的本地应用程序的配置过程示意图;
[0038]图4a为对应无参数启动本地应用程序的URL连接文件的示意图;
[0039]图4b为对应有参数启动本地应用程序的URL连接文件的示意图;
[0040]图4c为配置文件的示意图;
[0041]图5为本申请另一实施例提供的初始化的实现过程示意图;
[0042]图6为索引文件内容示意图;
[0043]图7为本申请另一实施例给出的步骤203的具体实现过程示意图;
[0044]图8为本申请实施例提供的网页浏览器的框图。

【具体实施方式】
[0045]本申请技术方案的总体技术构思包括:
[0046]由于网页浏览器是基于Windows系统,因此可以利用Windows的文件管理方式来对本地应用程序进行管理,通过配置本地应用程序目录中的配置信息和创建本地应用程序的URL连接文件,以便网页浏览器对本地应用程序进行调用。配置信息中包含程序的存储路径和程序运行所需要的参数。Windows的文件管理方式包括:按照图标(大图标、小图标、中等图标、超大图标)排列各个文件,或者按照列表形式、详细信息、按内容等方式排列各个文件。参数是指启动本地应用程序时需要输入的变量值。有些本地应用程序不需要参数,而有些本地应用程序需要相应的参数才能进行启动。
[0047]本申请提供的通过网页浏览器调用本地应用程序的基本流程如图1所示,包括如下步骤:
[0048]步骤101:网页浏览器接收用户触摸或者点击的操作,通过网页加载应用程序的配置信息和参数发送给封装在网页浏览器内的应用程序包装器。
[0049]步骤102:应用程序包装器根据所述配置信息和参数运行相应的应用程序,并且将运行结果展示在网页界面上。
[0050]步骤103:本地应用程序运行后,网页显示是否关闭所述应用程序的按钮,或者在一定的时间间隔内对程序进行关闭等操作。
[0051]根据本申请的一个实施例,网页中调用本地应用程序是使用了 CEF框架实现浏览器功能,CEF框架实现的网页初始化时,加载预先生成的JSON文件和配置文件。
[0052]CEF是谷歌浏览器嵌入式框架(Chromium Embedded Framework)的缩写,是个基于谷歌浏览器(Google Chromium)项目的开源控件,支持Windows, Linux, Mac平台。具体地说就是一个可以将浏览器功能(页面渲染,Javascript执行)嵌入到其他应用程序的框架。JSON文件为触摸互动程序通过对相应文件夹属性和文件夹中的配置,生成的Javascript文件。
[0053]为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
[0054]根据本申请的另一实施例,应用程序包装器(appcontainer)是由C#语言编写的、可以把其他窗体应用程序(本地应用程序)嵌入的一个容器,属于C#的自定义控件。
[0055]应用程序包装器的属性包括:
[0056](I)、继承了面板(Panel)控件;
[0057](2)、行动(Act1n)委托:封装一个方法,该方法具有两个参数并且不返回值(如:public delegate void Act1n<Tl, T2> (Tlargl, T2arg2));
[0058](3)、事件处理(EventHandler)委托:表示将处理不包含事件数据的事件。
[0059]应用程序包装器的实现方法包括:
[0060](I)、应用程序包装器启动时,利用进程(Process、ProcessStartInfo)类启动本地应用程序,本地应用程序启动后调用事件处理委托,然后调用行动委托传入参数。
[0061](2)在行动委托中,通过调用应用程序编程接口(API)来判断本地应用程序进程是否已经启动完成,然后调用API函数(SetParent等)将指定的本地应用程序嵌入当前的自定义控件。
[0062]本申请实施例提供的网页浏览器调用本地应用程序显示的流程如图2所示,包括如下步骤:
[0063]步骤201:对要通过网页显示的本地应用程序进行配置。
[0064]本申请另一实施例提供了本地应用程序的配置过程,如图3所示,包含以下步骤:
[0065]步骤301:对本地应用程序配置一个URL连接文件,设置成.url的格式。URL连接文件中的配置项[InternetShortCut]表示本地应用程序的启动路径。如果本地应用程序不是安装版程序,则应用程序的配置仅需要依Windows文件管理方式存放好应用程序的目录。
[0066]步骤302:设置URL连接文件中的各项参数。
[0067]若为无参数启动本地应用程序,配置项[InternetShortCut]中的值为相对路径,则表示程序为非安装版程序,
[0068]若为有参数启动本地应用程序,配置项[InternetShortCut]表示本地应用程序的路径(如果URL为绝对路径,则表示该程序为安装版程序);Sh0Wcl0Se = 0:表示在应用程序中不显示自定义的关闭按钮;param:表示应用程序所需参数。
[0069]图4a和图4b分别为URL连接文件的示意图,其中图4a对应无参数启动本地应用程序,应用程序名为“网点分布”;图4b对应有参数启动本地应用程序。本地应用程序名为“双向视频”,URL连接文件名称设置成“双向视频.url”。
[0070]步骤303:在本地应用程序目录下放置一个配置文件,配置文件名为dmb.conf,并设置配置文件中的配置项。例如,当该配置文件中包含的配置项“enable”的值为“false”时,表示该程序目录不显示。图4c为配置文件的示意图。
[0071]步骤202:在启动触摸互动程序后,触摸互动程序将对本地应用程序进行初始化。
[0072]本申请另一实施例提供了初始化的实现过程,如图5所示,包含以下步骤:
[0073]步骤501:读取本地应用程序的配置文件,并且生效本地应用程序所需的JSON文件。
[0074]步骤502:启动本地应用程序的所需的索引文件为dmbjson.js,索引文件格式为Javascript,其中包含了启动应用程序所需的信息,如:路径、参数、和其他的一些信息,以便触摸互动程序进行加载,其内容示例如图6所示。
[0075]步骤203:网页点击事件获取本地应用程序地址,并发送给应用程序包装器,应用包装器运行本地应用程序。
[0076]本申请另一实施例给出了步骤203的具体实现过程,如图7所示,包括如下步骤:
[0077]步骤701:触摸互动程序检测用户点击或者触摸应用程序图标的事件,若检测到,执行步骤702。
[0078]步骤702:触摸互动程序嵌入的浏览器获取用户的操作,并且获取本地应用程序的配置信息和参数。
[0079]步骤703:触摸互动程序嵌入的浏览器通过CEF的消息机制通知触摸互动程序启动本地应用程序。
[0080]步骤704:触摸互动程序中的应用程序包装器通过获取的程序路径和参数进行封装管理。
[0081]步骤705:触摸互动程序启动本地应用程序。
[0082]步骤706:触摸互动程序检测到点击关闭应用程序按钮的事件,则关闭该应用程序,或者在规定时间关闭本地应用程序。
[0083]触摸互动程序为检测触摸事件,根据触摸事件生成本地应用程序的输入信号的应用程序,本申请实施例中,触摸互动程序还用于封装浏览器框架并且调用本地应用程序。
[0084]本申请实施例还提供了一种网页浏览器,如图8所示,网页浏览器800包括:加载模块801和应用程序包装器802 ;
[0085]所述加载模块801用于根据用户触摸或者点击的操作,通过网页加载本地应用程序的配置信息和参数,并将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器802 ;
[0086]所述应用程序包装器802用于根据所述配置信息和参数运行相应的本地应用程序,并且将运行结果展示在网页界面上。
[0087]根据本申请的另一实施例,所述网页浏览器进一步包括:
[0088]程序关闭模块,用于在本地应用程序运行后,在网页上显示是否关闭所述应用程序的按钮,或者在一定的时间间隔内对程序进行关闭操作。
[0089]根据本申请的另一实施例,应用程序包装器进一步包括:
[0090]进程类启动单元,用于在应用程序包装器启动时,利用进程类启动本地应用程序;
[0091]事件处理委托单元,用于在本地应用程序启动后调用事件处理委托;
[0092]行动委托单元,用于通过调用应用程序编程接口来判断本地应用程序进程是否已经启动完成,然后调用API函数将指定的本地应用程序嵌入当前的自定义控件。
[0093]根据本申请的另一实施例,本地应用程序的配置信息包括一个URL连接文件,所述URL连接文件中包含表示本地应用程序的启动路径的配置项。
[0094]根据本申请的另一实施例,本地应用程序的配置信息包括一个文件名为dmb.conf的配置文件。
[0095]根据本申请的另一实施例,网页浏览器进一步包括:初始化模块,用于读取本地应用程序的配置文件,并且生效本地应用程序所需的JSON文件;启动本地应用程序的所需的索引文件,索引文件格式为Javascript,其中包含了启动应用程序所需的信息,以便触摸互动程序进行加载。
[0096]根据本申请的另一实施例,将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器是通过谷歌浏览器嵌入式框架CEF的消息机制实现的。
[0097]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【权利要求】
1.一种通过网页浏览器调用本地应用程序的方法,其特征在于,包括: A、网页浏览器根据用户触摸或者点击的操作,通过网页加载本地应用程序的配置信息和参数,并将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器; B、应用程序包装器根据所述配置信息和参数运行相应的本地应用程序,并且将运行结果展示在网页界面上。
2.根据权利要求1所述的方法,其特征在于,步骤B之后,进一步包括: C、本地应用程序运行后,网页显示是否关闭所述应用程序的按钮,或者在一定的时间间隔内对程序进行关闭操作。
3.根据权利要求1所述的方法,其特征在于,应用程序包装器根据所述配置信息和参数运行相应的本地应用程序包括: 应用程序包装器启动时,利用进程类启动本地应用程序,本地应用程序启动后调用事件处理委托,然后调用行动委托传入参数; 在行动委托中,通过调用应用程序编程接口来判断本地应用程序进程是否已经启动完成,然后调用API函数将指定的本地应用程序嵌入当前的自定义控件。
4.根据权利要求1所述的方法,其特征在于,本地应用程序的配置信息包括一个URL连接文件,所述URL连接文件中包含表示本地应用程序的启动路径的配置项。
5.根据权利要求1所述的方法,其特征在于,本地应用程序的配置信息包括一个文件名为dmb.conf的配置文件。
6.根据权利要求1所述的方法,其特征在于,步骤A之前,进一步包括:对本地应用程序进行初始化,所述初始化包括: 读取本地应用程序的配置文件,并且生效本地应用程序所需的JSON文件; 启动本地应用程序的所需的索引文件,索引文件格式为Javascript,其中包含了启动应用程序所需的信息,以便触摸互动程序进行加载。
7.根据权利要求6所述的方法,其特征在于,将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器是通过谷歌浏览器嵌入式框架CEF的消息机制实现的。
8.—种网页浏览器,其特征在于,包括:加载模块和应用程序包装器; 所述加载模块用于根据用户触摸或者点击的操作,通过网页加载本地应用程序的配置信息和参数,并将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器; 所述应用程序包装器用于根据所述配置信息和参数运行相应的本地应用程序,并且将运行结果展示在网页界面上。
9.根据权利要求8所述的网页浏览器,其特征在于,所述网页浏览器进一步包括: 程序关闭模块,用于在本地应用程序运行后,在网页上显示是否关闭所述应用程序的按钮,或者在一定的时间间隔内对程序进行关闭操作。
10.根据权利要求8所述的网页浏览器,其特征在于,应用程序包装器进一步包括: 进程类启动单元,用于在应用程序包装器启动时,利用进程类启动本地应用程序; 事件处理委托单元,用于在本地应用程序启动后调用事件处理委托; 行动委托单元,用于通过调用应用程序编程接口来判断本地应用程序进程是否已经启动完成,然后调用API函数将指定的本地应用程序嵌入当前的自定义控件。
11.根据权利要求8所述的网页浏览器,其特征在于,本地应用程序的配置信息包括一个URL连接文件,所述URL连接文件中包含表示本地应用程序的启动路径的配置项。
12.根据权利要求8所述的网页浏览器,其特征在于,本地应用程序的配置信息包括一个文件名为dmb.conf的配置文件。
13.根据权利要求8所述的网页浏览器,其特征在于,网页浏览器进一步包括:初始化模块,用于读取本地应用程序的配置文件,并且生效本地应用程序所需的JSON文件;启动本地应用程序的所需的索引文件,索引文件格式为Javascript,其中包含了启动应用程序所需的信息,以便触摸互动程序进行加载。
14.根据权利要求13所述的网页浏览器,其特征在于,将所述配置信息和参数发送给封装在网页浏览器内的应用程序包装器是通过谷歌浏览器嵌入式框架CEF的消息机制实现的。
【文档编号】G06F17/30GK104239063SQ201410491791
【公开日】2014年12月24日 申请日期:2014年9月23日 优先权日:2014年9月23日
【发明者】陈立情, 邱锦凯, 黄印国 申请人:福建星网视易信息系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1