CN110569467B - 用于客户端应用程序的离线访问方法以及装置 - Google Patents

用于客户端应用程序的离线访问方法以及装置 Download PDF

Info

Publication number
CN110569467B
CN110569467B CN201910804987.5A CN201910804987A CN110569467B CN 110569467 B CN110569467 B CN 110569467B CN 201910804987 A CN201910804987 A CN 201910804987A CN 110569467 B CN110569467 B CN 110569467B
Authority
CN
China
Prior art keywords
application program
offline
application
preset
client
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.)
Active
Application number
CN201910804987.5A
Other languages
English (en)
Other versions
CN110569467A (zh
Inventor
周晶
吴峰
郭伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangya Technology (Guangzhou) Co.,Ltd.
Original Assignee
Shanghai Yidianshikong Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Yidianshikong Network Co Ltd filed Critical Shanghai Yidianshikong Network Co Ltd
Priority to CN201910804987.5A priority Critical patent/CN110569467B/zh
Publication of CN110569467A publication Critical patent/CN110569467A/zh
Application granted granted Critical
Publication of CN110569467B publication Critical patent/CN110569467B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种用于客户端应用程序的离线访问方法以及装置。该方法包括判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;根据所述配置文件,下载离线资源至客户端;当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。本申请解决应用程序的客户端内访问由于网络延迟造成用户体验不佳的技术问题。通过本申请实现了在应用程序端内自动离线化访问。

Description

用于客户端应用程序的离线访问方法以及装置
技术领域
本申请涉及WEB前端处理领域,具体而言,涉及一种用于客户端应用程序的离线访问方法以及装置。
背景技术
应用程序客户端内H5项目通过从服务器预加载各类资源,然后在Webview渲染显示。
发明人发现,应用程序客户端内H5项目由于需要从服务器预加载各类资源然后才能在Webview渲染显示,网络加载的延迟导致了每次访问时的白屏等待、进度条时间等不友好的用户体验。
针对相关技术中应用程序的客户端内访问由于网络延迟造成用户体验不佳的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种用于客户端应用程序的离线访问方法以及装置,以解决应用程序的客户端内访问由于网络延迟造成用户体验不佳的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种用于客户端应用程序的离线访问方法,用于在应用程序端内自动离线化访问,。
根据本申请的用于客户端应用程序的离线访问方法包括:判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;根据所述配置文件,下载离线资源至客户端;当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
进一步地,判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数之后,还包括:
如果判断通过应用程序访问预设链接时没有检测到预先增设的可离线参数,则通过统一资源定位符远程链接后加载资源,并通过JSBridge访问客户端应用程序中的专有资源。
进一步地,判断通过应用程序访问预设H5链项目接时,是否检测到预先增设的可离线参数之后,还包括:
通过预设公共脚本库判断当前环境是属于应用程序还是第三方环境访问预设链接;
如果通过预设公共脚本库判断当前环境是属于应用程序之内,则访问所有jsBridge资源;
如果通过预设公共脚本库判断当前环境是第三方环境,则对jsBridge的访问返回一个无损页面交互的兼容结果。
进一步地,当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问时还包括:跨域资源数据请求的步骤,
所述跨域资源数据请求的步骤包括:
所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
进一步地,当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问时还包括:应用程序内离线静态资源差量更新的步骤,
所述应用程序内离线静态资源差量更新的步骤包括:
当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
为了实现上述目的,根据本申请的另一方面,提供了一种用于客户端应用程序的离线访问装置,用于在应用程序端内自动离线化访问。
根据本申请的用于客户端应用程序的离线访问装置包括:判断模块,用于判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;读取模块,用于如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;下载模块,用于根据所述配置文件,下载离线资源至客户端;离线化模块,用于当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
进一步地,装置还包括:第一访问模块,用于
如果判断通过应用程序访问预设链接时没有检测到预先增设的可离线参数,则通过统一资源定位符远程链接后加载资源,并通过JSBridge访问客户端应用程序中的专有资源。
进一步地,装置还包括:第二访问模块,用于
通过预设公共脚本库判断当前环境是属于应用程序还是第三方环境访问预设链接;
如果通过预设公共脚本库判断当前环境是属于应用程序之内,则访问所有jsBridge资源;
如果通过预设公共脚本库判断当前环境是第三方环境,则对jsBridge的访问返回一个无损页面交互的兼容结果。
进一步地,所述离线化模块,还用于执行跨域资源数据请求的步骤,
所述跨域资源数据请求的步骤包括:
所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
进一步地,所述离线化模块,还用于执行应用程序内离线静态资源差量更新的步骤,
所述应用程序内离线静态资源差量更新的步骤包括:
当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
在本申请实施例中用于客户端应用程序的离线访问方法以及装置,采用判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数的方式,如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件,通过根据所述配置文件,下载离线资源至客户端,达到了当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问的目的,从而实现了应用程序端内自动离线化访问的技术效果,进而解决了应用程序的客户端内访问由于网络延迟造成用户体验不佳的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的用于客户端应用程序的离线访问方法流程示意图;
图2是根据本申请第二实施例的用于客户端应用程序的离线访问方法流程示意图;
图3是根据本申请第三实施例的用于客户端应用程序的离线访问方法流程示意图;
图4是根据本申请第四实施例的用于客户端应用程序的离线访问方法流程示意图;
图5是根据本申请第五实施例的用于客户端应用程序的离线访问方法流程示意图;
图6是根据本申请第一实施例的用于客户端应用程序的离线访问装置结构示意图;
图7是根据本申请第二实施例的用于客户端应用程序的离线访问装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本申请实现了一种应用程序内访问时可离线且离线资源可差量更新的离线方案,可以实现子啊应用程序内离线模式访问时的几乎零加载延迟。
如图1所示,该方法包括如下的步骤S102至步骤S108:
步骤S102,判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;
在应用程序端判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数。所述预先增设的可离线参数需要预先进行配置。
步骤S104,如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;
在应用程序端如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数时,可以开始读取配置文件。说明此项目可离线。
步骤S106,根据所述配置文件,下载离线资源至客户端;
根据所述配置文件,开始进行下载离线资源至客户端,等待调用。
步骤S108,当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
当检测所述用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的所述静态文件,从而在应用程序端内自动离线化访问。
具体地,通过运营后台配置H5项目入口链接如https://example.com时,添加项目可离线参数如https://example.com?offline=true。应用程序首次读取URL,检测到offline=true,说明此项目可离线,读取项目根目录下的manifest.json配置文件,按照配置文件中的文件和目录结构将所有离线资源下载到客户端。当用户在应用程序内访问此H5时,应用程序拦截到请求,返回本地对应的静态文件,达到自动化离线访问效果。
从以上的描述中,可以看出,本申请实现了如下技术效果:
在本申请实施例中,采用判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数的方式,如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件,通过根据所述配置文件,下载离线资源至客户端,达到了当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问的目的,从而实现了应用程序端内自动离线化访问的技术效果,进而解决了应用程序的客户端内访问由于网络延迟造成用户体验不佳的技术问题。
根据本申请实施例,作为本实施例中的优选,如图2所示,判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数之后,还包括:
步骤S202,如果判断通过应用程序访问预设链接时没有检测到预先增设的可离线参数,则通过统一资源定位符远程链接后加载资源,并通过JSBridge访问客户端应用程序中的专有资源。
具体地,应用程序内访问时,若offline=false或offline参数不存在,直接访问URL远程链接并加载资源,并通过jsBridge访问客户端应用程序专有资源。
根据本申请实施例,作为本实施例中的优选,如图3所示,判断通过应用程序访问预设H5链项目接时,是否检测到预先增设的可离线参数之后,还包括:
步骤S302,通过预设公共脚本库判断当前环境是属于应用程序还是第三方环境访问预设链接;
步骤S304,如果通过预设公共脚本库判断当前环境是属于应用程序之内,则访问所有jsBridge资源;
步骤S306,如果通过预设公共脚本库判断当前环境是第三方环境,则对jsBridge的访问返回一个无损页面交互的兼容结果。
具体地,第三方浏览器访问时,由于此H5可能含有通过jsBridge访问的APP资源:如登录态,设备API等,而这些资源在第三方是无法访问的。为了消除不同环境的差异,提供了一个公共JS库,通过判断当前环境是属于应用程序还是第三方环境,如果是应用程序之内,可以访问所有jsBridge资源,如果是应用程序之外第三方浏览器,则对jsBridge的访问返回一个无损页面交互的兼容结果。
比如,当访问用户登录态时,会弹出一个H5专用的登录框提示用户登录;当访问原生专有资源时,返回弹出toast提示等。
根据本申请实施例,作为本实施例中的优选,如图4所示,当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问时还包括:跨域资源数据请求的步骤,
所述跨域资源数据请求的步骤包括:
步骤S402,所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
步骤S404,根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
具体地,离线访问时实现跨域资源数据请求时包括:应用程序之内离线访问时,所有的ajax请求都通过jsBridge代理到客户端,由客户端请求数据源获取数据,然后回传给H5页面,这个过程封装在公共JS库之内。
根据本申请实施例,作为本实施例中的优选,如图5所示,当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问时还包括:应用程序内离线静态资源差量更新的步骤,
所述应用程序内离线静态资源差量更新的步骤包括:
步骤S502,当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
步骤S504,下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
具体地,应用程序内的离线静态资源按照如下方式实现差量更新。在开发构建时,每次重新构建都会重新生成manifest.json配置文件,该配置文件是一个静态资源映射表,除了对应资源的相对路径,还有该资源的内容Hash。
当客户端应用程序以离线方式访问时,每次重新进入项目入口后,静默拉取最新manifest.json,下载成功后将最新配置文件和本地已经缓存过的manifest.json做对比得出:
(1)文件存在但Hash不一样的:客户端应用程序进行重新下载并缓存。
(2)本地存在但服务器不存在的:客户端应用程序删除本地缓存。
(3)本地不存在,但服务器存在的:客户端应用程序全新下载并缓存。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述用于客户端应用程序的离线访问方法的装置,用于在应用程序端内自动离线化访问,如图6所示,该装置包括:判断模块10,用于判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;读取模块20,用于如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;下载模块30,用于根据所述配置文件,下载离线资源至客户端;离线化模块40,用于当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问。
在本申请实施例的判断模块10中在应用程序端判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数。所述预先增设的可离线参数需要预先进行配置。
在本申请实施例的读取模块20中在应用程序端如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数时,可以开始读取配置文件。说明此项目可离线。
在本申请实施例的下载模块30中根据所述配置文件,开始进行下载离线资源至客户端,等待调用。
在本申请实施例的离线化模块40中当检测所述用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的所述静态文件,从而在应用程序端内自动离线化访问。
在上述模块中具体地,通过运营后台配置H5项目入口链接如https://example.com时,添加项目可离线参数如https://example.com?offline=true。应用程序首次读取URL,检测到offline=true,说明此项目可离线,读取项目根目录下的manifest.json配置文件,按照配置文件中的文件和目录结构将所有离线资源下载到客户端。当用户在应用程序内访问此H5时,应用程序拦截到请求,返回本地对应的静态文件,达到自动化离线访问效果。
根据本申请实施例,作为本实施例中的优选,如图7所示,还包括:第一访问模块50,用于如果判断通过应用程序访问预设链接时没有检测到预先增设的可离线参数,则通过统一资源定位符远程链接后加载资源,并通过JSBridge访问客户端应用程序中的专有资源。
具体地,应用程序内访问时,若offline=false或offline参数不存在,直接访问URL远程链接并加载资源,并通过jsBridge访问客户端应用程序专有资源。
根据本申请实施例,作为本实施例中的优选,如图7所示,还包括:第二访问模块60,用于通过预设公共脚本库判断当前环境是属于应用程序还是第三方环境访问预设链接;如果通过预设公共脚本库判断当前环境是属于应用程序之内,则访问所有jsBridge资源;如果通过预设公共脚本库判断当前环境是第三方环境,则对jsBridge的访问返回一个无损页面交互的兼容结果。
具体地,第三方浏览器访问时,由于此H5可能含有通过jsBridge访问的APP资源:如登录态,设备API等,而这些资源在第三方是无法访问的。为了消除不同环境的差异,提供了一个公共JS库,通过判断当前环境是属于应用程序还是第三方环境,如果是应用程序之内,可以访问所有jsBridge资源,如果是应用程序之外第三方浏览器,则对jsBridge的访问返回一个无损页面交互的兼容结果。
比如,当访问用户登录态时,会弹出一个H5专用的登录框提示用户登录;当访问原生专有资源时,返回弹出toast提示等。
根据本申请实施例,作为本实施例中的优选,所述离线化模块,还用于执行跨域资源数据请求的步骤,所述跨域资源数据请求的步骤包括:所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
具体地,离线访问时实现跨域资源数据请求时包括:应用程序之内离线访问时,所有的ajax请求都通过jsBridge代理到客户端,由客户端请求数据源获取数据,然后回传给H5页面,这个过程封装在公共JS库之内。
根据本申请实施例,作为本实施例中的优选,所述离线化模块,还用于执行应用程序内离线静态资源差量更新的步骤,所述应用程序内离线静态资源差量更新的步骤包括:当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
具体地,应用程序内的离线静态资源按照如下方式实现差量更新。在开发构建时,每次重新构建都会重新生成manifest.json配置文件,该配置文件是一个静态资源映射表,除了对应资源的相对路径,还有该资源的内容Hash。
当客户端应用程序以离线方式访问时,每次重新进入项目入口后,静默拉取最新manifest.json,下载成功后将最新配置文件和本地已经缓存过的manifest.json做对比得出:
(1)文件存在但Hash不一样的:客户端应用程序进行重新下载并缓存。
(2)本地存在但服务器不存在的:客户端应用程序删除本地缓存。
(3)本地不存在,但服务器存在的:客户端应用程序全新下载并缓存。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (6)

1.一种用于客户端应用程序的离线访问方法,其特征在于,用于在应用程序端内自动离线化访问,所述方法包括:
判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;
如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;
根据所述配置文件,下载离线资源至客户端;
当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问;
判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数之后,还包括:
如果判断通过应用程序访问预设链接时没有检测到预先增设的可离线参数,则通过统一资源定位符远程链接后加载资源,并通过JSBridge访问客户端应用程序中的专有资源;
判断通过应用程序访问预设H5链项目接时,是否检测到预先增设的可离线参数之后,还包括:
通过预设公共脚本库判断当前环境是属于应用程序还是第三方环境访问预设链接;
如果通过预设公共脚本库判断当前环境是属于应用程序之内,则访问所有jsBridge资源;
如果通过预设公共脚本库判断当前环境是第三方环境,则对jsBridge的访问返回一个无损页面交互的兼容结果。
2.根据权利要求1所述的用于客户端应用程序的离线访问方法,其特征在于,当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问时还包括:跨域资源数据请求的步骤,
所述跨域资源数据请求的步骤包括:
所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
3.根据权利要求1所述的用于客户端应用程序的离线访问方法,其特征在于,当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问时还包括:应用程序内离线静态资源差量更新的步骤,
所述应用程序内离线静态资源差量更新的步骤包括:
当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
4.一种用于客户端应用程序的离线访问装置,其特征在于,用于在应用程序端内自动离线化访问,所述装置包括:
判断模块,用于判断通过应用程序访问预设H5项目链接时,是否检测到预先增设的可离线参数;
读取模块,用于如果判断通过应用程序访问预设链接时检测到预先增设的可离线参数,则读取配置文件;
下载模块,用于根据所述配置文件,下载离线资源至客户端;
离线化模块,用于当检测用户在所述应用程序内访问所述H5项目链接时,通过所述应用程序拦截请求并返回在所述客户端的本地对应的静态文件,以使在应用程序端内自动离线化访问;
还包括:第一访问模块,用于
如果判断通过应用程序访问预设链接时没有检测到预先增设的可离线参数,则通过统一资源定位符远程链接后加载资源,并通过JSBridge访问客户端应用程序中的专有资源;
还包括:第二访问模块,用于
通过预设公共脚本库判断当前环境是属于应用程序还是第三方环境访问预设链接;
如果通过预设公共脚本库判断当前环境是属于应用程序之内,则访问所有jsBridge资源;
如果通过预设公共脚本库判断当前环境是第三方环境,则对jsBridge的访问返回一个无损页面交互的兼容结果。
5.根据权利要求4所述的用于客户端应用程序的离线访问装置,其特征在于,所述离线化模块,还用于执行跨域资源数据请求的步骤,
所述跨域资源数据请求的步骤包括:
所述应用程序内离线访问时,将ajax请求通过jsBridge代理到客户端;
根据所述客户端请求数据源获取数据,回传至当前访问的H5页面。
6.根据权利要求4所述的用于客户端应用程序的离线访问装置,其特征在于,所述离线化模块,还用于执行应用程序内离线静态资源差量更新的步骤,
所述应用程序内离线静态资源差量更新的步骤包括:
当客户端应用程序以离线方式访问时,静默拉取最新静态资源映射表的配置文件;
下载成功后将最新配置文件和本地已经缓存过的配置文件进行比较,根据比较结果下载、删除或缓存静态资源。
CN201910804987.5A 2019-08-27 2019-08-27 用于客户端应用程序的离线访问方法以及装置 Active CN110569467B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910804987.5A CN110569467B (zh) 2019-08-27 2019-08-27 用于客户端应用程序的离线访问方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910804987.5A CN110569467B (zh) 2019-08-27 2019-08-27 用于客户端应用程序的离线访问方法以及装置

Publications (2)

Publication Number Publication Date
CN110569467A CN110569467A (zh) 2019-12-13
CN110569467B true CN110569467B (zh) 2022-10-14

Family

ID=68776593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910804987.5A Active CN110569467B (zh) 2019-08-27 2019-08-27 用于客户端应用程序的离线访问方法以及装置

Country Status (1)

Country Link
CN (1) CN110569467B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078257B (zh) * 2019-12-19 2023-09-08 杭州安恒信息技术股份有限公司 一种h5应用包的加载方法及相关装置
CN113010224B (zh) * 2021-03-03 2024-01-30 南方电网数字平台科技(广东)有限公司 前端微服务化方法、装置、计算机设备和存储介质
CN114048405B (zh) * 2021-10-26 2024-04-09 盐城天眼察微科技有限公司 入口模板文件生成方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
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 联想(北京)有限公司 一种信息处理方法及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 (3)

* Cited by examiner, † Cited by third party
Title
hmyCheryl.浏览器如何对HTML5的离线储存资源进行管理和加载.《https://www.cnblogs.com/hmycheryl/p/8672188.html》.2018, *
浏览器如何对HTML5的离线储存资源进行管理和加载;hmyCheryl;《https://www.cnblogs.com/hmycheryl/p/8672188.html》;20180329;第1页 *
聊聊iOS开发中的JSBridge;莫云溪;《https://www.jianshu.com/p/eff176e220e0》;20181022;第1-4页 *

Also Published As

Publication number Publication date
CN110569467A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CN110569467B (zh) 用于客户端应用程序的离线访问方法以及装置
US8190703B2 (en) Extensible browser platform for web applications
CN110096660B (zh) 用于加载页面图片的方法、装置和电子设备
CN102521284B (zh) 基于移动终端浏览器的页面截图处理方法和装置
US9015348B2 (en) Dynamically selecting between acceleration techniques based on content request attributes
CN109992406B (zh) 图片请求方法、响应图片请求的方法及客户端
US8359031B2 (en) Computer based method and system for logging in a user mobile device at a server computer system
CN112559927B (zh) 一种网页加载方法及装置
CN106354879A (zh) 网页缓存方法及装置
WO2008111048A2 (en) System and method for browser within a web site and proxy server
CN106911735B (zh) 数据获取方法及装置
CN109033302A (zh) 一种页面跳转方法、装置、终端及存储介质
CN110764805B (zh) 客户端无感升级的方法、装置、终端及存储介质
CN110390043A (zh) 网页邮箱数据的爬取方法、装置、终端和存储介质
CN105516333A (zh) 一种基于网页的交互方法和系统
CN110569465B (zh) 用于客户端应用程序的离线访问方法以及装置
CN108959393B (zh) 动态图片处理方法、装置及存储介质
US9306884B2 (en) Computer-based method and system for processing a file request in response to a message received from a user mobile device
CN112764746B (zh) 数据处理方法、装置、电子设备及存储介质
AU2019100103A4 (en) A system and method for delivering in-app content using mobile messaging
CN110825603A (zh) 页面首次加载时间确定方法、装置、电子设备及存储介质
CN106559404A (zh) 一种访问数据的客户端、代理服务器及系统
CN113572676B (zh) 一种邮件处理方法及装置
CN110807040B (zh) 管理数据的方法、装置、设备及存储介质
CN110622135B (zh) 在涉及欠佳网络条件的情形下提供内容项的系统和方法

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
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.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240508

Address after: Room 2106, No. 242 Tianhe Road, Tianhe District, Guangzhou City, Guangdong Province, 510000 (office only)

Patentee after: Guangya Technology (Guangzhou) Co.,Ltd.

Country or region after: China

Address before: 200125, Room 325, 3rd Floor, Unit 2, No. 231, Shibocun Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee before: Wheel interconnection technology (Shanghai) Co.,Ltd.

Country or region before: China