首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 修改 / 一种混合型应用客户端的资源调用方法、客户端及系统

一种混合型应用客户端的资源调用方法、客户端及系统

阅读:893发布:2023-02-01

专利汇可以提供一种混合型应用客户端的资源调用方法、客户端及系统专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种HybridApp客户端的资源调用方法、客户端及系统,用以解决 现有技术 中加载网页时容易出错的问题。该方法客户端接收服务端发送的包含有需调用的资源的地址的页面数据,解析页面数据并生成资源调用 请求 ,根据该客户端本地的保本信息 修改 该资源调用请求,根据修改后的资源调用请求获取资源。通过上述方法,当客户端与服务端的版本不同时,可在不修改页面数据的条件下提供正常的服务,从而可以保证后续正常的加载网页。,下面是一种混合型应用客户端的资源调用方法、客户端及系统专利的具体信息内容。

1.一种混合型应用客户端的资源调用方法,其特征在于,包括:
向服务端发送页面请求消息;
接收服务端根据所述页面请求消息返回的页面数据;
解析所述页面数据,获取需要调用的资源的地址,生成资源调用请求;
获取客户端本地的版本信息,根据客户端本地的版本信息修改所述资源调用请求;
根据修改后的资源调用请求获取资源。
2.如权利要求1所述的方法,其特征在于,所述页面数据为超文本标记语言HTML代码,所述HTML代码中包含需要调用的资源的地址。
3.如权利要求1所述的方法,其特征在于,所述地址中包含需要调用的资源的名称及版本占位符,版本占位符标识所述资源为限制性资源。
4.如权利要求3所述的方法,其特征在于,根据本地的版本信息修改所述资源调用请求,具体包括:对所述资源调用请求进行监听;
判断所述资源调用请求中是否包含版本占位符,当所述资源调用请求包含版本占位符时,将版本占位符替换为客户端本地的版本信息。
5.如权利要求1所述的方法,其特征在于,根据修改后的资源调用请求获取资源,具体包括:
基于修改后的资源调用请求包含的资源的名称及版本信息,从所述客户端本地获取相应的资源;
当所述客户端本地未保存相应的资源时,从所述服务端中获取相应的资源,并将获取到的资源保存在本地。
6.如权利要求4所述的方法,其特征在于,所述客户端包括第一客户端及第二客户端;
所述方法还包括:
所述第一客户端接收第二客户端发送的注册信息,保存所述注册信息中携带的所述第二客户端当前的版本信息;
当接收到所述第二客户端发送的资源调用请求时,所述第一客户端将所述资源调用请求中携带的地址中包含的版本占位符修改为保存的所述第二客户端当前的版本信息,根据修改后的资源调用请求中携带的地址,获取相应的资源,并将获取到的资源返回给所述第二客户端。
7.一种混合型应用客户端,其特征在于,包括:浏览器插件及内置模
所述浏览器插件,用于向服务端发送页面请求消息,接收服务端根据所述页面请求消息返回的页面数据,解析所述页面数据,获取需要调用的资源的地址,生成资源调用请求;
所述内置模块包括监听单元、解析单元及资源读取单元;
所述监听单元,用于监听所述浏览器插件生成的资源调用请求;
所述解析单元,用于获取客户端本地的版本信息,根据客户端本地的版本信息修改所述监听单元监听到的所述资源调用请求;
所述资源读取单元,用于根据修改后的资源调用请求获取资源,并将获取到的资源返回给所述浏览器插件。
8.如权利要求7所述的客户端,其特征在于,所述页面数据为超文本标记语言HTML代码,所述HTML代码中包含需要调用的资源的地址。
9.如权利要求7所述的客户端,其特征在于,所述地址中包含需要调用的资源的名称及版本占位符,版本占位符标识所述资源为限制性资源;所述解析单元判断所述监听单元监听到的资源调用请求中是否包含版本占位符,当该资源调用请求包含版本占位符时,采用客户端本地的版本信息替换该版本占位符。
10.如权利要求9所述的客户端,其特征在于,所述资源读取单元具体用于,基于修改后的资源调用请求包含的资源的名称及版本信息,从本地获取相应的资源,当本地未保存相应的资源时,从所述服务端中获取相应的资源,并将获取到的资源保存在本地。
11.一种资源调用系统,其特征在于,包括:
服务端,用于接收客户端发送的页面请求消息,根据所述页面请求消息,向所述客户端返回页面数据;
客户端,用于接收服务端返回的页面数据,解析所述页面数据,获取需要调用的资源的地址,生成资源调用请求;获取所述客户端本地的版本信息,根据客户端本地的版本信息修改接收到的所述资源调用请求,根据修改后的资源调用请求获取资源。

说明书全文

一种混合型应用客户端的资源调用方法、客户端及系统

技术领域

[0001] 本申请涉及互联网技术领域,尤其涉及一种混合型应用客户端的资源调用方法、客户端及系统。

背景技术

[0002] 目前,HybridApp(混合型应用)客户端由于其兼具了本地化应用(NativeApp)客户端和基于网页的应用(WebApp)客户端的优势而被广泛的应用在移动终端中。HybridApp客户端虽然看上去是一个NativeApp客户端,但其访问的实际上是一个网页。
[0003] 图1为现有技术中HybridApp客户端在为用户提供服务的过程,具体包括以下步骤:
[0004] S101:HybridApp客户端根据预定的统一资源定位符(URL),向服务端发送携带该URL的超文本传输协议(Hyper Text Transport Protocol,HTTP)请求
[0005] 即,HybridApp客户端访问预定的该URL对应的页面。
[0006] S102:服务端向HybridApp客户端返回超文本标记语言(Hyper Text Markup Language,HTML)代码。
[0007] 该HTML代码具体可以是HTML5代码。
[0008] S103:HybridApp客户端解析该HTML代码,确定该HTML代码所要调用的javascript或级联样式表(Cascading Style Sheet,CSS)。
[0009] 其中,该HTML代码中包含所要调用的javascript标识或者CSS标识,用于标识所要调用的javascript或者CSS。
[0010] S104:HybridApp客户端向服务端获取所要调用的javascript或CSS。
[0011] S105:HybridApp客户端通过获取的javascript或CSS调用客户端本地的应用程序编程接口(Application Programming Interface,API)。
[0012] S106:HybridApp客户端通过调用的API启动自身所在的移动终端的相应功能。
[0013] 由于单纯的一个javascript或CSS是不能启用移动终端的功能的,需要由HybridApp客户端本地保存的API来启用,因此,HybridApp客户端要启用自身所在的移动终端的相应功能,必须要基于HTML代码获取javascript或CSS,再通过获取到的javascript或CSS调用本地的API来启用移动终端的功能。
[0014] 例如,HybridApp客户端提供了一个摄像头拍照功能,服务端中保存的javascript为photoV2.0.js,HybridApp客户端中保存的API为photoV2.0.jar。则HybridApp客户端先访问服务端的页面,确定服务端返回的HTML5代码所要调用的javascript为photoV2.0.js,向服务端获取photoV2.0.js,并通过photoV2.0.js调用自身的photoV2.0.jar来启用该HybridApp客户端所在的移动终端的摄像头。
[0015] 可见,HybridApp客户端可以提供正常服务的前提是:该HybridApp客户端的版本与服务端的版本一致。如果HybridApp客户端的版本与服务端的版本不一致,HybridApp客户端就不能正常提供服务。
[0016] 例如,HybridApp客户端提供了一个摄像头拍照功能,HybridApp客户端的版本为V1.0,则HybridApp客户端中保存的API为photoV1.0.jar(HybridApp客户端中保存的API的版本与该HybridApp客户端自身的版本一致)。如果服务端的版本为V2.0,则服务端中保存的javascript为photoV2.0.js。那么,服务端向HybridApp客户端返回的HTML5代码所要调用的javascript就是photoV2.0.js。HybridApp客户端获取到photoV2.0.js后,由于photoV2.0.js只能调用版本同样为V2.0的API(即photoV2.0.jar),而HybridApp客户端中保存的是版本为V1.0的API(即photoV1.0.jar),因此HybridApp客户端通过photoV2.0.js调用不到版本匹配的API,从而不能正常提供该摄像头拍照功能。
[0017] 由于并不是每个用户都会及时的更新自身移动终端上安装的HybridApp客户端的版本,因此,为了解决上述HybridApp客户端与服务端版本不同时,HybridApp客户端不能正常提供服务的问题,在现有技术中,HybridApp客户端将可以调用自身当前版本下的所有API的javascript或CSS(以下将javascript和CSS合称为前端资源)保存在本地,当HybridApp客户端接收到服务端返回的HTML代码时,如果确定该HTML代码所要调用的前端资源的版本与该HybridApp客户端本地的版本不一致,则采用本地保存的版本的前端资源的标识替换HTML代码中所要调用的前端资源的标识,并解析替换了前端资源的标识后的HTML代码,调用替换后的前端资源以完成相应功能。
[0018] 例如,HybridApp客户端提供了一个摄像头拍照功能,HybridApp客户端的版本为V1.0,则HybridApp客户端中保存的API为photoV1.0.jar,并且,该HybridApp客户端中保存了可以调用photoV1.0.jar的前端资源(javascript)photoV1.0.js。服务端的版本为V2.0,服务端中保存的javascript为photoV2.0.js。
[0019] 则,服务端向HybridApp客户端返回的HTML代码所要调用的javascript为photoV2.0.js。HybridApp客户端确定该HTML代码中包含的javascript标识为photoV2.0.js的标识时,采用本地保存的对应于该photoV2.0.js、但版本不同的photoV1.0.js的标识替换该HTML代码中的photoV2.0.js的标识,再解析HTML代码,根据替换后的标识(photoV1.0.js的标识)调用本地保存的photoV1.0.js,而不从服务端中获取photoV2.0.js。最后,HybridApp客户端通过photoV1.0.js调用本地保存的photoV1.0.jar,以启用移动终端的摄像头功能。
[0020] 然而,在现有技术的上述方法中,由于HybridApp客户端需要采用自身保存的photoV1.0.js的标识来替换服务端返回的HTML代码中的photoV2.0.js的标识,因此,这就必然会破坏该HTML代码的原始结构,尤其是当该HTML代码为HTML5代码时,还会使HTML5代码中自身的AppCache功能失效,这就会导致后续基于HTML代码加载网页时容易出现错误。发明内容
[0021] 本申请实施例提供一种混合型应用客户端的资源调用方法、客户端及系统,用以解决现有技术中加载网页时容易出错的问题。
[0022] 本申请实施例提供的一种混合型应用客户端的资源调用方法,包括:
[0023] 向服务端发送页面请求消息;
[0024] 接收服务端根据所述页面请求消息返回的页面数据;
[0025] 解析所述页面数据,获取需要调用的资源的地址,生成资源调用请求;
[0026] 获取客户端本地的版本信息,根据客户端本地的版本信息修改所述资源调用请求;
[0027] 根据修改后的资源调用请求获取资源。
[0028] 本申请实施例提供的一种混合型应用客户端,包括:浏览器插件及内置模
[0029] 所述浏览器插件,用于向服务端发送页面请求消息,接收服务端根据所述页面请求消息返回的页面数据,解析所述页面数据,获取需要调用的资源的地址,生成资源调用请求;
[0030] 所述内置模块包括监听单元、解析单元及资源读取单元;
[0031] 所述监听单元,用于监听所述浏览器插件发送的资源调用请求;
[0032] 所述解析单元,用于获取客户端本地的版本信息,根据客户端本地的版本信息修改所述监听单元监听到的所述资源调用请求;
[0033] 所述资源读取单元,用于根据修改后的资源调用请求获取资源,并将获取到的资源返回给所述浏览器插件。
[0034] 本申请实施例提供的一种混合型应用系统,包括:
[0035] 服务端,用于接收客户端发送的页面请求消息,根据所述页面请求消息,向所述客户端返回页面数据;
[0036] 客户端,用于接收服务端返回的页面数据,解析所述页面数据,获取需要调用的资源的地址,生成资源调用请求;获取所述客户端本地的版本信息,根据客户端本地的版本信息修改接收到的所述资源调用请求,根据修改后的资源调用请求获取资源。
[0037] 本申请实施例提供一种混合型应用客户端的资源调用方法、客户端及系统,该方法客户端接收服务端发送的包含有需调用的资源的地址的页面数据,解析页面数据并生成资源调用请求,根据该客户端本地的保本信息修改该资源调用请求,根据修改后的资源调用请求获取资源。通过上述方法,当客户端与服务端的版本不同时,可在不修改页面数据的条件下提供正常的服务,从而可以保证后续正常的加载网页。附图说明
[0038] 图1为现有技术中HybridApp客户端在为用户提供服务的过程;
[0039] 图2为本申请实施例提供的客户端与服务端的交互过程;
[0040] 图3为本申请实施例提供的第二客户端向第一客户端发送注册信息的示意图;
[0041] 图4为本申请实施例提供的第一客户端的内置模块未启用时,第二客户端启用自身的内置模块的示意图;
[0042] 图5为本申请实施例提供的HybridApp客户端结构示意图;
[0043] 图6为本申请实施例提供的资源调用系统结构示意图。

具体实施方式

[0044] 本申请实施例服务端向客户端发送的页面数据中包含需调用的资源的地址,解析页面数据并生成资源调用请求,根据该客户端本地的版本信息修改该资源调用请求,根据修改后的资源调用请求获取资源,实现了当客户端与服务端的版本不一致时,客户端可在不修改页面数据的条件下正常提供服务,保证后续可以正常的基于页面数据加载网页。
[0045] 下面结合说明书附图对本申请实施例进行详细描述。
[0046] 图2为本申请实施例提供的客户端与服务端的交互过程,具体包括以下步骤:
[0047] S201:向服务端发送页面请求消息。
[0048] 本申请实施例中所述的客户端为混合型应用(HybridApp)客户端。当客户端提供服务时,客户端中的浏览器插件先根据预设的URL,向服务端发送页面请求消息,用于向服务端请求获取该URL对应的网页。其中,所述服务端为网络服务端。该页面请求消息可以是HTTP请求消息。
[0049] S202:接收服务端根据该页面请求消息返回的页面数据。
[0050] 服务端接收到该页面请求消息后,则根据该页面请求消息中携带的URL,向客户端返回该URL对应的网页的页面数据。
[0051] 其中,为实现页面特定的功能,该页面数据中包含所要调用的资源的相关信息,如该资源的地址。该资源的地址可以是该客户端本地的地址。该资源包括用于执行特定的本地功能(比如,拍照、语音功能等)所需的依赖资源,即前端资源。
[0052] 在本申请实施例中,该地址中包含资源名称以及版本占位符。
[0053] 具体的,服务端返回的页面数据为HTML代码。该HTML代码中包含的地址可以是SRC路径,该HTML代码可以是HTML5代码。
[0054] 例如,服务端可以根据预先设定的协议返回HTML代码,返回的HTML代码的格式如下:
[0055]
[0056] 上 述HTML 代 码 中 包 含 了 一 条SRC 路 径,即 http://localhost:50000/photo${VERSION}.js,这条路径就是上述HTML代码所要调用的资源的获取地址。该SRC路径是以URL的形式组织的,其中的“localhost:50000”代表该客户端本地的端口号,photo为资源的名称,${VERSION}为版本占位符。
[0057] S203:解析该页面数据,获取需要调用的资源的地址,生成资源调用请求。
[0058] 继续沿用上例,客户端的浏览器插件接收到上述页面数据后,对该页面数据进行解析,当解析出时,即可获知上述HTML代码所要调用的资源需要从上述地址(SRC路径)上获取,因此,客户端的浏览器插件生成并向上述地址发送资源调用请求,用于从该地址上获取需要调用的资源。其中,资源调用请求中携带上述地址。该资源调用请求也可以是HTTP请求消息。
[0059] S204:获取本地的版本信息,根据本地的版本信息修改资源调用请求。
[0060] 本申请实施例中在HybridApp客户端中新增一个内置模块,所述内置模块监听并接收所述的资源调用请求。继续沿用上例,由于客户端向上述地址http://localhost:50000/photo${VERSION}.js发 送 资 源 调 用 请 求 时,上 述 地 址 中 的“localhost:50000”表示该客户端本地的端口,因此,该资源调用请求仍会被该客户端自身所接收。具体的,客户端中的内置模块可对本地的端口号为50000的端口进行监听,以接收该资源调用请求,其中,上述端口号可与服务端预先约定。
[0061] 内置模块接收到资源调用请求后,根据资源调用请求即可获知需要调用的资源。此时,内置模块获取该客户端本地当前的版本信息,并据此修改接收到的资源调用请求,将客户端本地的版本信息写入该资源调用请求。
[0062] 具体的,由于资源调用请求中包含需要调用的资源的地址,而该资源的地址中包含该资源的名称及版本占位符,因此该资源调用请求中也包含该资源的名称及版本占位符。从而,该客户端的内置模块采用获取到的该客户端本地的版本信息替换资源调用请求中包含的版本占位符。
[0063] 假设客户端当前的版本为V1.0,则采用V1.0替换版本占位符后,该资源调用请求携带的该资源的地址就变成了:http://localhost:50000/photoV1.0.js。因此,根据上述地址即可获取所需的资源photoV1.0.js。
[0064] 此外,上述版本占位符也可以进一步用于标识需要调用的资源为限制性资源。限制性资源即具有版本限制的资源。对于限制性资源的调用而言,当资源调用请求中包含的资源的版本信息与客户端本地的版本信息不一致时,该资源调用请求不能调用到该限制性资源。因此,内置模块对资源调用请求进行监听的步骤还可以包括判断资源调用请求中是否包含版本占位符,当所述资源调用请求包含版本占位符时,将版本占位符替换为客户端本地的版本信息。
[0065] S205:根据修改后的资源调用请求获取资源。
[0066] 继续沿用上例,由于修改后的资源调用请求中携带的资源的地址为htp://localhost:50000/photoV1.0.js,因此,客户端的内置模块根据该修改后的地址,获取photoV1.0.js。
[0067] 具体的,服务端向客户端返回的HTML代码中包含的资源的地址中,除了可包含需要调用的资源的名称以及版本占位符以外,还可包含服务端中存储各个资源的存储路径,则客户端的内置模块在根据修改后的地址获取资源时,可以基于修改后的地址中包含的资源的名称(如上例中的photo)以及客户端本地当前的版本信息(如上例中的V1.0),从客户端本地获取相应的资源(如上例中的photoV1.0.js),当客户端本地未保存相应的资源时,则可根据修改后的地址中包含的服务端中存储各资源的存储路径,从服务端中获取相应的资源,并将从服务端中获取到的资源保存在客户端本地,以备后续再次调用。
[0068] 客户端的内置模块获取到资源photoV1.0.js后,则可将该资源photoV1.0.js返回给浏览器插件进行调用。
[0069] 本申请实施例中,可以将限制性资源(即具有版本限制的资源)封装在客户端一侧,服务端返回的页面数据对于限制性资源不指定资源的版本信息,而在页面数据中设置版本占位符,客户端解析页面数据,并由内置模块监听资源资源调用请求;当资源调用请求中包含版本占位符时,表示该资源调用请求调用的资源为限制性资源,内置模块获取客户端本地的版本信息,使用客户端本地的版本信息替换资源调用请求中的版本占位符。
[0070] 通过上述方法,客户端在接收到上述页面数据后,并不需要对页面数据进行修改,而是解析页面数据后,根据该页面数据中包含的地址生成资源调用请求并发送,由于该地址是客户端本地的地址,因此该资源调用请求可以被客户端的内置模块监听和接收,内置模块对接收到的资源调用请求中包含的版本占位符进行修改。也即,客户端修改的是解析页面数据后其自发自收的资源调用请求,而并非页面数据本身,从而,当客户端与服务端的版本不一致时,客户端可以在不修改页面数据的条件下,调用到与客户端当前版本匹配的资源,进而正常为用户提供服务,而且由于页面数据并未被修改,因此保证了后续基于该页面数据可以正常的加载网页。
[0071] 而且,由于现有技术中客户端需要对服务端返回的HTML代码进行修改,再将修改后的HTML代码通过其自身的浏览器插件进行加载,因此这也会修改了对页面的加载方式,同时,对本地修改后的HTML代码的加载方式,相对于直接加载服务端的URL地址的方式,会破坏请求的同源性(原HTML代码是源于服务端,其路径为http://协议,而修改后的HTML代码源于客户端自身,其路径为file://协议)。这种加载方式的改变,会导致HTML5规范的AppCache等特性不可用。而通过本申请实施例提供的上述方法,由于客户端不对服务端返回的页面数据进行修改,因此也就不会破坏页面数据的同源性。当页面数据为HTML代码时,不会破坏HTML5规范的对加载方式有严格要求的相关特性。
[0072] 另外,通过上述方法,服务端无需获知客户端当前的版本是否与服务端的版本一致,也即,客户端的版本信息相对于服务端而言是透明的,即使客户端的版本与服务端的版本不一致,则客户端仍可以采用上述方法可以调用资源实现页面中的功能。
[0073] 在本申请实施例中,移动终端中可以安装多个客户端,安装的每个客户端均可新增如上所述的内置模块,为了减轻移动终端的负担,一个客户端如果启用了自身的内置模块,则该内置模块除了为该客户端处理其自身的资源调用请求以外,还可以为其他客户端处理资源调用请求。
[0074] 在本申请实施例中所述的多个客户端包括第一客户端及第二客户端。其中,第一客户端内置模块已启用,第二客户端可通过第一客户端已启用的内置模块调用资源。
[0075] 具体的,第一客户端接收第二客户端发送的注册信息,保存该注册信息中携带的该第二客户端当前的版本信息,当第一客户端接收到第二客户端发送的资源调用请求时,第一客户端将该资源调用请求中携带的地址中包含的版本占位符修改为保存的该第二客户端当前的版本信息,根据修改后的资源调用请求中携带的地址,获取相应的资源,并将获取到的资源返回给第二客户端。
[0076] 其中,第二客户端发送给第一客户端的注册信息中除了包括该第二客户端当前的版本信息以外,还可包括该第二客户端的标识。
[0077] 第二客户端在采用如图2所示的方法与服务端交互时,可以通过第二客户端自身的浏览器插件执行步骤S201~S203,并判断当前移动终端中是否有其他客户端已经启用了内置模块。当判断第一客户端的内置模块已经启用时,则通过第一客户端中已启用的内置模块执行资源的调用,当第一客户端的内置模块接收到的资源调用请求中携带第二客户端的标识时,第一客户端即可获知该资源调用请求是第二客户端发送的,因此获取了相应的资源后,将该资源返回给第二客户端的浏览器插件,如图3所示。
[0078] 图3为本申请实施例提供的第二客户端向第一客户端发送注册信息的示意图,在图3中,第二客户端以心跳的方式向第一客户端发送携带第二客户端当前的版本信息以及第二客户端的标识的注册信息,即,周期性的向第一客户端发送注册信息,具体可采用以下消息发送注册信息:
[0079] http://localhost:50000/register_token/appname/version。
[0080] 在上述注册信息中,appname即为第二客户端的标识,version即为第二客户端当前的版本信息。
[0081] 第一客户端接收到该注册信息后,则由该第一客户端自身的内置模块对该注册信息作出响应返回给第二客户端。因此,第二客户端只要判断是否在指定时间长度内接收到第一客户端的内置模块作出的响应,即可判断出第一客户端的内置模块是否已经启用。如果第二客户端确定第一客户端的内置模块已启用,则不必再启用自身的内置模块,直接通过第一客户端的内置模块执行资源调用步骤。
[0082] 图4为本申请实施例提供的第一客户端的内置模块未启用时,第二客户端启用自身的内置模块的示意图,在图4中,如果第二客户端通过以心跳方式发送的注册信息探测到第一客户端中的内置模块已经关闭,则启用第二客户端自身的内置模块进行补位。
[0083] 通过上述方法,移动终端中只要有一个客户端启用了自身的内置模块即可,而无需所有的客户端都启用内置模块,可减轻移动终端的压
[0084] 另外,在本申请实施例中,由于向服务端发送页面请求消息的发送方除了包括HybridApp客户端以外,还包括移动终端自身的浏览器或其他类型的客户端,因此,在图2所示的步骤S202中,服务端向客户端返回包含该客户端本地的地址的页面数据之前,还可以根据接收到的页面请求消息中的指定字段,确定客户端的类型为指定类型。具体的,服务端可以根据接收到的页面请求消息中的UAgent字段或者其他新增的字段,判断发送该页面请求消息的客户端的类型是否为HybridApp类型,若是,则返回包含该客户端本地的地址的页面数据,否则,可返回正常的页面数据。
[0085] 以上是本申请实施例提供的HybridApp客户端的资源调用方法,基于同样的思路,本申请实施例还提供一种HybridApp客户端以及一种资源调用系统,如图5、图6所示。
[0086] 图5为本申请实施例提供的HybridApp客户端结构示意图,具体包括:
[0087] 所述浏览器插件501,用于向服务端发送页面请求消息,接收服务端根据所述页面请求消息返回的页面数据,解析所述页面数据,获取需要调用的资源的地址,生成资源调用请求;
[0088] 所述内置模块502包括监听单元5021、解析单元5022及资源读取单元5023;
[0089] 所述监听单元5021,用于监听所述浏览器插件生成的资源调用请求;
[0090] 所述解析单元5022,用于获取客户端本地的版本信息,根据客户端本地的版本信息修改所述监听单元监听到的所述资源调用请求;
[0091] 所述资源读取单元5023,用于根据修改后的资源调用请求获取资源,并将获取到的资源返回给所述浏览器插件。
[0092] 所述页面数据为超文本标记语言HTML代码,所述HTML代码中包含需要调用的资源的地址。
[0093] 所述地址中包含需要调用的资源的名称及版本占位符,版本占位符标识所述资源为限制性资源;所述解析单元5022判断所述监听单元5021监听到的资源调用请求中是否包含版本占位符,当该资源调用请求包含版本占位符时,采用客户端当前的版本信息替换该版本占位符。
[0094] 所述资源读取单元5023具体用于,基于修改后的资源调用请求包含的资源的名称及版本信息,从本地获取相应的资源,当本地未保存相应的资源时,从所述服务端中获取相应的资源,并将获取到的资源保存在本地。
[0095] 图6为本申请实施例提供的资源调用系统结构示意图,具体包括服务端601及客户端602。
[0096] 服务端601,用于接收客户端602发送的页面请求消息,根据所述页面请求消息,向所述客户端602返回页面数据;
[0097] 客户端602,用于接收服务端601返回的页面数据,解析所述页面数据,获取需要调用的资源的地址,生成资源调用请求;获取所述客户端602本地的版本信息,根据客户端本地的版本信息修改接收到的所述资源调用请求,根据修改后的资源调用请求获取资源。
[0098] 本申请实施例提供一种混合型应用客户端的资源调用方法、客户端及系统,该方法客户端接收服务端发送的包含有需调用的资源的地址的页面数据,解析页面数据并生成资源调用请求,根据该客户端本地的保本信息修改该资源调用请求,根据修改后的资源调用请求获取资源。通过上述方法,当客户端与服务端的版本不同时,可在不修改页面数据的条件下提供正常的服务,从而可以保证后续正常的加载网页。
[0099] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0100] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0101] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0102] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0103] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0104] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
相关专利内容
标题 发布/更新时间 阅读量
修改对话窗口 2020-05-13 828
路线修改 2020-05-11 878
修改带 2020-05-11 874
一种修改纸 2020-05-11 105
业务流修改流程 2020-05-13 285
修改比特流 2020-05-12 84
修改比特流 2020-05-12 826
OCT图像修改 2020-05-12 223
修改颜色色域 2020-05-13 832
修改液 2020-05-11 723
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈