CN110569465A - 用于客户端应用程序的离线访问方法以及装置 - Google Patents
用于客户端应用程序的离线访问方法以及装置 Download PDFInfo
- Publication number
- CN110569465A CN110569465A CN201910799412.9A CN201910799412A CN110569465A CN 110569465 A CN110569465 A CN 110569465A CN 201910799412 A CN201910799412 A CN 201910799412A CN 110569465 A CN110569465 A CN 110569465A
- Authority
- CN
- China
- Prior art keywords
- offline
- application program
- access
- client
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000003068 static effect Effects 0.000 claims abstract description 63
- 238000013507 mapping Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种用于客户端应用程序的离线访问方法以及装置。该方法包括通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问;其中,对所述离线化访问,进行跨域资源数据请求;对所述应用程序内的离线静态资源进行差量更新。本申请解决了应用程序的访问缺少兼容性的技术问题。通过本申请实现了应用程序端外任意浏览器环境在线方式访问。
Description
技术领域
本申请涉及WEB前端处理领域,具体而言,涉及一种用于客户端应用程序的离线访问方法以及装置。
背景技术
应用程序客户端内H5项目通过从服务器预加载各类资源,然后在Webview渲染显示。
发明人发现,客户端应用程序之内的H5项目常常会有在第三方浏览器环境访问的需求,如果直接在第三方浏览器访问此类H5将导致页面错误甚至白屏。
针对相关技术中应用程序的访问缺少兼容性的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种用于客户端应用程序的离线访问方法以及装,以解决应用程序的访问缺少兼容性的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种用于客户端应用程序的离线访问方法。
根据本申请的用于客户端应用程序的离线访问方法包括:通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问;其中,对所述离线化访问,进行跨域资源数据请求;对所述应用程序内的离线静态资源进行差量更新。
进一步地,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问包括:
判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;
如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;
根据所述配置文件,下载离线资源至客户端;
当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
进一步地,对所述离线化访问,进行跨域资源数据请求,包括:
所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
进一步地,对所述应用程序内的离线静态资源进行差量更新,包括:
当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
进一步地,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问时,还包括:应用程序在线访问并存的步骤,
所述应用程序在线访问并存的步骤包括:
如果判断通过应用程序访问预设链接时没有检测到预先增设的可离线参数,则通过统一资源定位符远程链接后加载资源,并通过JSBridge访问客户端应用程序中的专有资源。
进一步地,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问时,还包括:第三方浏览器在线访问并存的步骤,
所述第三方浏览器在线访问并存的步骤包括:
通过预设公共脚本库判断当前环境是属于应用程序还是第三方环境访问预设链接;
如果通过预设公共脚本库判断当前环境是属于应用程序之内,则访问所有jsBridge资源;
如果通过预设公共脚本库判断当前环境是第三方环境,则对jsBridge的访问返回一个无损页面交互的兼容结果。
为了实现上述目的,根据本申请的另一方面,提供了一种用于客户端应用程序的离线访问装置。
根据本申请的用于客户端应用程序的离线访问装置包括:离线化模块,用于通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问;其中,所述离线化模块包括:跨域模块、更新模块,跨域模块,还用于对所述离线化访问,进行跨域资源数据请求;更新模块,还用于对所述应用程序内的离线静态资源进行差量更新。
进一步地,离线化模块包括:
判断单元,用于判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;
读取单元,用于如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;
下载单元,用于根据所述配置文件,下载离线资源至客户端;
离线化单元,用于当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
进一步地,所述跨域模块,还用于
所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
进一步地,所述更新模块还用于
当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
在本申请实施例中用于客户端应用程序的离线访问方法以及装置,采用通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问的方式,通过对所述离线化访问,进行跨域资源数据请求和对所述应用程序内的离线静态资源进行差量更新,达到了访问兼容性的目的,从而实现了应用程序端外任意浏览器环境在线方式访问的技术效果,进而解决了应用程序的访问缺少兼容性的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的的用于客户端应用程序的离线访问方法流程示意图;
图2是根据本申请第二实施例的的用于客户端应用程序的离线访问方法流程示意图;
图3是根据本申请第三实施例的的用于客户端应用程序的离线访问方法流程示意图;
图4是根据本申请第四实施例的的用于客户端应用程序的离线访问方法流程示意图;
图5是根据本申请第五实施例的的用于客户端应用程序的离线访问方法流程示意图;
图6是根据本申请第六实施例的的用于客户端应用程序的离线访问方法流程示意图;
图7是根据本申请实施例的的用于客户端应用程序的离线访问装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,该方法包括如下的步骤S102至步骤S106:
步骤S102,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问;
通过返回H5项目本地对应的所述静态资源进行应用程序端内离线化访问。
具体地,运营后台配置H5项目入口链接如https://example.com时,添加项目可离线参数https://example.com?offline=true。应用程首次读取URL,检测到offline=true,说明此项目可离线,读取项目根目录下的manifest.json配置文件,按照配置文件中的文件和目录结构将所有离线资源下载到客户端。当用户在应用程内访问此H5时,应用程拦截到请求,返回本地对应的静态文件,达到自动化离线访问效果。
步骤S104,对所述离线化访问,进行跨域资源数据请求;
所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
具体地,离线访问时实现跨域资源数据请求时包括:应用程序之内离线访问时,所有的ajax请求都通过jsBridge代理到客户端,由客户端请求数据源获取数据,然后回传给H5页面,这个过程封装在公共JS库之内。
步骤S106,对所述应用程序内的离线静态资源进行差量更新。
当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
具体地,应用程序内的离线静态资源按照如下方式实现差量更新。在开发构建时,每次重新构建都会重新生成manifest.json配置文件,该配置文件是一个静态资源映射表,除了对应资源的相对路径,还有该资源的内容Hash。
当客户端应用程序以离线方式访问时,每次重新进入项目入口后,静默拉取最新manifest.json,下载成功后将最新配置文件和本地已经缓存过的manifest.json做对比得出:
(1)文件存在但Hash不一样的:客户端应用程序进行重新下载并缓存。
(2)本地存在但服务器不存在的:客户端应用程序删除本地缓存。
(3)本地不存在,但服务器存在的:客户端应用程序全新下载并缓存。
从以上的描述中,可以看出,本申请实现了如下技术效果:
在本申请实施例中,采用通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问的方式,通过对所述离线化访问,进行跨域资源数据请求和对所述应用程序内的离线静态资源进行差量更新,达到了访问兼容性的目的,从而实现了应用程序端外任意浏览器环境在线方式访问的技术效果,进而解决了应用程序的访问缺少兼容性的技术问题。
根据本申请实施例,作为本实施例中的优选,如图2所示,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问包括:
步骤S202,判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;
在应用程序端判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数。所述预先增设的可离线参数需要预先进行配置。
步骤S204,如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;
在应用程序端如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数时,可以开始读取配置文件。说明此项目可离线。
步骤S206,根据所述配置文件,下载离线资源至客户端;
根据所述配置文件,开始进行下载离线资源至客户端,等待调用。
步骤S208,当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
当检测所述用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的所述静态文件,从而在应用程序端内自动离线化访问。
具体地,通过运营后台配置H5项目入口链接如https://example.com时,添加项目可离线参数如https://example.com?offline=true。应用程序首次读取URL,检测到offline=true,说明此项目可离线,读取项目根目录下的manifest.json配置文件,按照配置文件中的文件和目录结构将所有离线资源下载到客户端。当用户在应用程序内访问此H5时,应用程序拦截到请求,返回本地对应的静态文件,达到自动化离线访问效果。
根据本申请实施例,作为本实施例中的优选,如图3所示,对所述离线化访问,进行跨域资源数据请求,包括:
步骤S302,所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
步骤S304,根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
具体地,离线访问时实现跨域资源数据请求时包括:应用程序之内离线访问时,所有的ajax请求都通过jsBridge代理到客户端,由客户端请求数据源获取数据,然后回传给H5页面,这个过程封装在公共JS库之内。
根据本申请实施例,作为本实施例中的优选,如图4所示,对所述应用程序内的离线静态资源进行差量更新,包括:
步骤S402,当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
步骤S404,下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
具体地,应用程序内的离线静态资源按照如下方式实现差量更新。在开发构建时,每次重新构建都会重新生成manifest.json配置文件,该配置文件是一个静态资源映射表,除了对应资源的相对路径,还有该资源的内容Hash。
当客户端应用程序以离线方式访问时,每次重新进入项目入口后,静默拉取最新manifest.json,下载成功后将最新配置文件和本地已经缓存过的manifest.json做对比得出:
(1)文件存在但Hash不一样的:客户端应用程序进行重新下载并缓存。
(2)本地存在但服务器不存在的:客户端应用程序删除本地缓存。
(3)本地不存在,但服务器存在的:客户端应用程序全新下载并缓存。
根据本申请实施例,作为本实施例中的优选,如图5所示,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问时,还包括:应用程序在线访问并存的步骤,
步骤S502,所述应用程序在线访问并存的步骤包括:
步骤S504,如果判断通过应用程序访问预设链接时没有检测到预先增设的可离线参数,则通过统一资源定位符远程链接后加载资源,并通过JSBridge访问客户端应用程序中的专有资源。
具体地,应用程序内访问时,若offline=false或offline参数不存在,直接访问URL远程链接并加载资源,并通过jsBridge访问客户端应用程序专有资源。
根据本申请实施例,作为本实施例中的优选,如图6所示,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问时,还包括:第三方浏览器在线访问并存的步骤,
步骤S602,所述第三方浏览器在线访问并存的步骤包括:
步骤S604,通过预设公共脚本库判断当前环境是属于应用程序还是第三方环境访问预设链接;
步骤S606,如果通过预设公共脚本库判断当前环境是属于应用程序之内,则访问所有jsBridge资源;
步骤S608,如果通过预设公共脚本库判断当前环境是第三方环境,则对jsBridge的访问返回一个无损页面交互的兼容结果。
具体地,第三方浏览器访问时,由于此H5可能含有通过jsBridge访问的APP资源:如登录态,设备API等,而这些资源在第三方是无法访问的。为了消除不同环境的差异,提供了一个公共JS库,通过判断当前环境是属于应用程序还是第三方环境,如果是应用程序之内,可以访问所有jsBridge资源,如果是应用程序之外第三方浏览器,则对jsBridge的访问返回一个无损页面交互的兼容结果。
比如,当访问用户登录态时,会弹出一个H5专用的登录框提示用户登录;当访问原生专有资源时,返回弹出toast提示等。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述方法的用于客户端应用程序的离线访问装置,如图7所示,该装置包括:
离线化模块1,用于通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问;其中,所述离线化模块1包括:跨域模块11、更新模块12,跨域模块11,还用于对所述离线化访问,进行跨域资源数据请求;更新模块12,还用于对所述应用程序内的离线静态资源进行差量更新。
本申请实施例的所述离线化模块1通过返回H5项目本地对应的所述静态资源进行应用程序端内离线化访问。
具体地,运营后台配置H5项目入口链接如https://example.com时,添加项目可离线参数https://example.com?offline=true。应用程首次读取URL,检测到offline=true,说明此项目可离线,读取项目根目录下的manifest.json配置文件,按照配置文件中的文件和目录结构将所有离线资源下载到客户端。当用户在应用程内访问此H5时,应用程拦截到请求,返回本地对应的静态文件,达到自动化离线访问效果。
本申请实施例的跨域模块11中所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
具体地,离线访问时实现跨域资源数据请求时包括:应用程序之内离线访问时,所有的ajax请求都通过jsBridge代理到客户端,由客户端请求数据源获取数据,然后回传给H5页面,这个过程封装在公共JS库之内。
本申请实施例的更新模块12中当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
具体地,应用程序内的离线静态资源按照如下方式实现差量更新。在开发构建时,每次重新构建都会重新生成manifest.json配置文件,该配置文件是一个静态资源映射表,除了对应资源的相对路径,还有该资源的内容Hash。
当客户端应用程序以离线方式访问时,每次重新进入项目入口后,静默拉取最新manifest.json,下载成功后将最新配置文件和本地已经缓存过的manifest.json做对比得出:
(1)文件存在但Hash不一样的:客户端应用程序进行重新下载并缓存。
(2)本地存在但服务器不存在的:客户端应用程序删除本地缓存。
(3)本地不存在,但服务器存在的:客户端应用程序全新下载并缓存。
根据本申请实施例,作为本实施例中的优选,离线化模块包括:判断单元,用于判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;读取单元,用于如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;下载单元,用于根据所述配置文件,下载离线资源至客户端;离线化单元,用于当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
在上述模块中具体地,通过运营后台配置H5项目入口链接如https://example.com时,添加项目可离线参数如https://example.com?offline=true。应用程序首次读取URL,检测到offline=true,说明此项目可离线,读取项目根目录下的manifest.json配置文件,按照配置文件中的文件和目录结构将所有离线资源下载到客户端。当用户在应用程序内访问此H5时,应用程序拦截到请求,返回本地对应的静态文件,达到自动化离线访问效果。
根据本申请实施例,作为本实施例中的优选,所述跨域模块11,还用于所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
具体地,离线访问时实现跨域资源数据请求时包括:应用程序之内离线访问时,所有的ajax请求都通过jsBridge代理到客户端,由客户端请求数据源获取数据,然后回传给H5页面,这个过程封装在公共JS库之内。
根据本申请实施例,作为本实施例中的优选,所述更新模块12,还用于当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
具体地,应用程序内的离线静态资源按照如下方式实现差量更新。在开发构建时,每次重新构建都会重新生成manifest.json配置文件,该配置文件是一个静态资源映射表,除了对应资源的相对路径,还有该资源的内容Hash。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种用于客户端应用程序的离线访问方法,其特征在于,包括:
通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问;
其中,
对所述离线化访问,进行跨域资源数据请求;
对所述应用程序内的离线静态资源进行差量更新。
2.根据权利要求1所述的离线访问方法,其特征在于,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问包括:
判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;
如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;
根据所述配置文件,下载离线资源至客户端;
当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
3.根据权利要求1所述的离线访问方法,其特征在于,对所述离线化访问,进行跨域资源数据请求,包括:
所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
4.根据权利要求1所述的离线访问方法,其特征在于,对所述应用程序内的离线静态资源进行差量更新,包括:
当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
5.根据权利要求1所述的离线访问方法,其特征在于,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问时,还包括:应用程序在线访问并存的步骤,
所述应用程序在线访问并存的步骤包括:
如果判断通过应用程序访问预设链接时没有检测到预先增设的可离线参数,则通过统一资源定位符远程链接后加载资源,并通过JSBridge访问客户端应用程序中的专有资源。
6.根据权利要求1所述的离线访问方法,其特征在于,通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问时,还包括:第三方浏览器在线访问并存的步骤,
所述第三方浏览器在线访问并存的步骤包括:
通过预设公共脚本库判断当前环境是属于应用程序还是第三方环境访问预设链接;
如果通过预设公共脚本库判断当前环境是属于应用程序之内,则访问所有jsBridge资源;
如果通过预设公共脚本库判断当前环境是第三方环境,则对jsBridge的访问返回一个无损页面交互的兼容结果。
7.一种用于客户端应用程序的离线访问装置,其特征在于,包括:
离线化模块,用于通过返回H5项目本地对应的静态资源,进行应用程序端内离线化访问;
其中,所述离线化模块包括:跨域模块、更新模块,
跨域模块,还用于对所述离线化访问,进行跨域资源数据请求;
更新模块,还用于对所述应用程序内的离线静态资源进行差量更新。
8.根据权利要求7所述的用于客户端应用程序的离线访问装置,其特征在于,离线化模块包括:
判断单元,用于判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;
读取单元,用于如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;
下载单元,用于根据所述配置文件,下载离线资源至客户端;
离线化单元,用于当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
9.根据权利要求7所述的用于客户端应用程序的离线访问装置,其特征在于,所述跨域模块,还用于
所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
10.根据权利要求7所述的用于客户端应用程序的离线访问装置,其特征在于,所述更新模块还用于
当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799412.9A CN110569465B (zh) | 2019-08-27 | 2019-08-27 | 用于客户端应用程序的离线访问方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799412.9A CN110569465B (zh) | 2019-08-27 | 2019-08-27 | 用于客户端应用程序的离线访问方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569465A true CN110569465A (zh) | 2019-12-13 |
CN110569465B CN110569465B (zh) | 2022-09-02 |
Family
ID=68776348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910799412.9A Active CN110569465B (zh) | 2019-08-27 | 2019-08-27 | 用于客户端应用程序的离线访问方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569465B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301890A (zh) * | 2020-09-22 | 2022-04-08 | 中国移动通信集团安徽有限公司 | Web访问请求的处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103108035A (zh) * | 2013-01-17 | 2013-05-15 | 深圳市中兴移动通信有限公司 | 一种基于webos的应用本地化方法及装置 |
CN105550338A (zh) * | 2015-12-23 | 2016-05-04 | 北京大学 | 一种基于HTML5应用缓存的移动Web缓存优化方法 |
CN105630981A (zh) * | 2015-12-25 | 2016-06-01 | 小米科技有限责任公司 | 网络资源加载与配置方法及装置 |
CN105930467A (zh) * | 2016-04-22 | 2016-09-07 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
-
2019
- 2019-08-27 CN CN201910799412.9A patent/CN110569465B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103108035A (zh) * | 2013-01-17 | 2013-05-15 | 深圳市中兴移动通信有限公司 | 一种基于webos的应用本地化方法及装置 |
CN105550338A (zh) * | 2015-12-23 | 2016-05-04 | 北京大学 | 一种基于HTML5应用缓存的移动Web缓存优化方法 |
CN105630981A (zh) * | 2015-12-25 | 2016-06-01 | 小米科技有限责任公司 | 网络资源加载与配置方法及装置 |
CN105930467A (zh) * | 2016-04-22 | 2016-09-07 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
Non-Patent Citations (2)
Title |
---|
莫云溪: "聊聊iOS开发中的JSBridge", 《HTTPS://WWW.JIANSHU.COM/P/EFF176E220E0》 * |
黄玄等: "Hybrid架构下,加载本地H5资源后,如何处理Ajax请求", 《HTTPS://WWW.ZHIHU.COM/QUESTION/31316032》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301890A (zh) * | 2020-09-22 | 2022-04-08 | 中国移动通信集团安徽有限公司 | Web访问请求的处理方法及装置 |
CN114301890B (zh) * | 2020-09-22 | 2023-09-05 | 中国移动通信集团安徽有限公司 | Web访问请求的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110569465B (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569467B (zh) | 用于客户端应用程序的离线访问方法以及装置 | |
CN110049098B (zh) | 手机应用分布式运行快捷启动系统及方法 | |
CN108829588B (zh) | 一种测试应用程序的处理方法、部署系统及装置 | |
CN103391307B (zh) | 离线数据的离线透传和显示方法、装置及系统 | |
CN103942225A (zh) | 一种混合型应用客户端的资源调用方法、客户端及系统 | |
CN110096660A (zh) | 用于加载页面图片的方法、装置和电子设备 | |
CN103207863A (zh) | 页面跨域交互方法及终端 | |
CN103778012B (zh) | 更改终端运营商信息的方法及装置 | |
CN110764805B (zh) | 客户端无感升级的方法、装置、终端及存储介质 | |
CN105516333A (zh) | 一种基于网页的交互方法和系统 | |
CN110569465B (zh) | 用于客户端应用程序的离线访问方法以及装置 | |
US11797289B2 (en) | Containerized, decentralized, and distributed web applications with end-to-end encryption | |
US10108735B2 (en) | System and method of embedded application tags | |
CN106919690B (zh) | 一种信息的屏蔽方法、装置及电子设备 | |
CN113779458B (zh) | 应用加速加载的方法及装置、电子设备及存储介质 | |
CN109857963A (zh) | 本地资源访问方法、装置及电子设备 | |
CN108959393B (zh) | 动态图片处理方法、装置及存储介质 | |
JP6074550B2 (ja) | ウェブページプッシュ方法及び装置、並びに端末 | |
CN103051722B (zh) | 一种确定页面是否被劫持的方法及相关设备 | |
AU2019100103A4 (en) | A system and method for delivering in-app content using mobile messaging | |
CN109495319B (zh) | Cdn节点的故障信息确定方法、装置及设备 | |
CN106559404A (zh) | 一种访问数据的客户端、代理服务器及系统 | |
CN113572676B (zh) | 一种邮件处理方法及装置 | |
CN110807040B (zh) | 管理数据的方法、装置、设备及存储介质 | |
US10810065B1 (en) | Application programming interface (API) platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 200125, Room 325, 3rd Floor, Unit 2, No. 231, Shibocun Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Wheel interconnection technology (Shanghai) Co.,Ltd. Address before: 200125 Room 501, 5 / F, building 3, 3601 Dongfang Road, Pudong New Area, Shanghai Patentee before: SHANGHAI YIDIAN SPACE NETWORK Co.,Ltd. |
|
CP03 | Change of name, title or address |