CN108733388A - 一种基于Native离线包的H5页面解析方法 - Google Patents
一种基于Native离线包的H5页面解析方法 Download PDFInfo
- Publication number
- CN108733388A CN108733388A CN201810525737.3A CN201810525737A CN108733388A CN 108733388 A CN108733388 A CN 108733388A CN 201810525737 A CN201810525737 A CN 201810525737A CN 108733388 A CN108733388 A CN 108733388A
- Authority
- CN
- China
- Prior art keywords
- offline
- wrapped
- packet
- native
- pages
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于Native离线包的H5页面解析方法,包括如下步骤:生成离线包及相应的配置文件,将离线包预置到相应的APP安装包内,得到包含Native离线包的APP安装包,APP启动时检查配置文件,确定是否存在新版本的离线包,如果存在,则将新版本的离线包下载至客户端本地,当APP访问离线包对应的H5页面时,直接从下载完毕的新版本的离线包解析H5页面,如果不存在,则APP访问离线包对应的H5页面时,直接从Native离线包解析H5页面。本发明,无需网络请求即可获取H5页面,且更新H5页面方便、快捷,有效节省流量,避免用户无法访问网络时导致的H5页面访问错误,提升用户体验,开发效率及后期维护均有所提升。
Description
技术领域
本发明涉及Native和H5混合开发技术领域,具体说是一种基于Native离线包的H5页面解析方法。
背景技术
现在的APP,很多是Native和H5混合开发的,主要的实现思想是:用H5做页面,以JS为桥梁,调用Native方法,Native用WebView装载H5页面,控制H5页面,这样实现了H5与Native的交互。这样做的好处是各个端只需要一套页面,维护成本低,而且H5可以随便修改,APP不用升级也可以更新,曲线实现了“热更新”。但是在性能上,肯定没有纯Native好,而且在体验上也没有Native那么好。
H5是html5的简称。HTML最新的修订版本,是一种超文本标记语言。H5先调用系统的浏览器内核,相当于是在网页中进行操作,较Native稳定性稍差、速度较慢。优点在于可以跨平台,同时开发容易、效率高、方便调试。
Native使用原生系统内核,相当于直接在系统上操作,更加稳定、快速,可以使用非常非常多的API,因此开发出来的功能较佳。
通常,Native和H5混合开发采用以下方案:
重要模块是Native开发,保证了APP的流畅度和比较好的用户体验;
要求及时更新的模块是H5开发,如比赛页面,广告活动页面,因为用H5开发的好处是开发周期短,可以在线更新。
由于H5页面的解析、访问需要网络支持,在没有网络的情况下,相应的网络请求不能及时得到服务器的响应,将影响用户体验,也不利于开发时对APP的测试。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于Native离线包的H5页面解析方法,无需网络请求即可获取H5页面,且更新H5页面方便、快捷,有效节省流量,避免用户无法访问网络时导致的H5页面访问错误,提升用户体验,开发效率及后期维护均有所提升。
为达到以上目的,本发明采取的技术方案是:
一种基于Native离线包的H5页面解析方法,其特征在于,包括如下步骤:
生成离线包,所述离线包采用zip格式压缩,其中包含一个H5页面或一组相关联的H5页面,
将离线包预置到相应的APP安装包内,得到包含Native离线包的APP安装包,
生成配置文件,所述配置文件通过离线包ID唯一标识各离线包,通过版本号唯一标识离线包的版本信息,
将配置文件预置到包含Native离线包的APP安装包内,
APP安装包安装到客户端后,APP启动时检查配置文件,确定是否存在新版本的离线包,
如果存在,则向服务器发送请求,将新版本的离线包下载至客户端本地,
当APP访问离线包对应的H5页面时,直接从下载完毕的新版本的离线包解析H5页面,
如果不存在,则APP访问离线包对应的H5页面时,直接从Native离线包解析H5页面。
在上述技术方案的基础上,所述离线包,其中至少包括:
HTML代码,CSS代码,JS代码和静态图片。
在上述技术方案的基础上,所述Native离线包中包括APP启动后必须加载模块,所述模块包括H5页面。
在上述技术方案的基础上,所述客户端为便携移动设备或虚拟便携移动设备。
在上述技术方案的基础上,离线包中还包括:
二级离线包,与离线包对应同一个或同一组相关联的H5页面,二级离线包的版本低于离线包的版本。
在上述技术方案的基础上,二级离线包为上一个版本的离线包,离线包为最新版本的离线包。
在上述技术方案的基础上,二级离线包为上一个稳定工作版本的离线包,离线包为最新测试版本的离线包。
在上述技术方案的基础上,二级离线包为默认的版本的离线包,离线包为最新版本的离线包。
在上述技术方案的基础上,当包含二级离线包时,如下载完毕的新版本的离线包解析H5页面失败,则尝试从二级离线包进一步解析H5页面。
在上述技术方案的基础上,当包含二级离线包时,如APP启动出现故障,则尝试从二级离线包进一步解析H5页面。
本发明所述的基于Native离线包的H5页面解析方法,无需网络请求即可获取H5页面,且更新H5页面方便、快捷,有效节省流量,避免用户无法访问网络时导致的H5页面访问错误,提升用户体验,开发效率及后期维护均有所提升。具有以下优点:
1、节省流量;
2、客户端加载速度快;
3、用户体验比较好;
4、可以一定程度上避免DNS劫持。
附图说明
本发明有如下附图:
图1本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的基于Native离线包的H5页面解析方法,包括如下步骤:
生成离线包,所述离线包采用zip格式压缩,其中包含一个H5页面或一组相关联的H5页面,
将离线包预置到相应的APP安装包内,得到包含Native离线包的APP安装包,
生成配置文件,所述配置文件通过离线包ID唯一标识各离线包,通过版本号唯一标识离线包的版本信息,
将配置文件预置到包含Native离线包的APP安装包内,
APP安装包安装到客户端后,APP启动时检查配置文件,确定是否存在新版本的离线包,
如果存在,则向服务器发送请求,将新版本的离线包下载至客户端本地,
当APP访问离线包对应的H5页面时,直接从下载完毕的新版本的离线包解析H5页面,
如果不存在,则APP访问离线包对应的H5页面时,直接从Native离线包解析H5页面。
Native离线包:预置到APP中,APP启动的时候检查更新。这种离线包主要针对一打开APP就能访问到的页面,比如首页。适合于解决第一次启动APP离线包还没有下载好只能访问线上地址的问题,可有效节省流量。但相应的导致APP安装包体积增大,故不能任意H5页面均采用Native离线包。
在上述技术方案的基础上,所述离线包,其中至少包括:
HTML代码,CSS代码,JS代码和静态图片。
更进一步,离线包中还包括:
二级离线包,与离线包对应同一个或同一组相关联的H5页面,二级离线包的版本低于离线包的版本。
例如:
二级离线包为上一个版本的离线包,离线包为最新版本的离线包。
再例如:
二级离线包为上一个稳定工作版本的离线包,离线包为最新测试版本的离线包。
又例如:
二级离线包为默认的版本的离线包,离线包为最新版本的离线包。
所述默认的版本可以是:
默认一个或一组预设服务器的版本的离线包,
APP第一版的APP安装包中的Native离线包,
默认最后一版稳定工作版本的离线包。
二级离线包的信息亦存储于配置文件中。
当包含二级离线包时,如下载完毕的新版本的离线包解析H5页面失败,则尝试从二级离线包进一步解析H5页面。
更进一步,当包含二级离线包时,如APP启动出现故障,则尝试从二级离线包进一步解析H5页面。
在上述技术方案的基础上,所述Native离线包中包括APP启动后必须加载模块,所述模块包括H5页面。
在上述技术方案的基础上,所述客户端为便携移动设备或虚拟便携移动设备。
所述便携移动设备尤指手机。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种基于Native离线包的H5页面解析方法,其特征在于,包括如下步骤:
生成离线包,所述离线包采用zip格式压缩,其中包含一个H5页面或一组相关联的H5页面,
将离线包预置到相应的APP安装包内,得到包含Native离线包的APP安装包,
生成配置文件,所述配置文件通过离线包ID唯一标识各离线包,通过版本号唯一标识离线包的版本信息,
将配置文件预置到包含Native离线包的APP安装包内,
APP安装包安装到客户端后,APP启动时检查配置文件,确定是否存在新版本的离线包,
如果存在,则向服务器发送请求,将新版本的离线包下载至客户端本地,
当APP访问离线包对应的H5页面时,直接从下载完毕的新版本的离线包解析H5页面,
如果不存在,则APP访问离线包对应的H5页面时,直接从Native离线包解析H5页面。
2.如权利要求1所述的基于Native离线包的H5页面解析方法,其特征在于:所述离线包,其中至少包括:
HTML代码,CSS代码,JS代码和静态图片。
3.如权利要求1所述的基于Native离线包的H5页面解析方法,其特征在于:所述Native离线包中包括APP启动后必须加载模块,所述模块包括H5页面。
4.如权利要求1所述的基于Native离线包的H5页面解析方法,其特征在于:所述客户端为便携移动设备或虚拟便携移动设备。
5.如权利要求2所述的基于Native离线包的H5页面解析方法,其特征在于:离线包中还包括:
二级离线包,与离线包对应同一个或同一组相关联的H5页面,二级离线包的版本低于离线包的版本。
6.如权利要求5所述的基于Native离线包的H5页面解析方法,其特征在于:二级离线包为上一个版本的离线包,离线包为最新版本的离线包。
7.如权利要求5所述的基于Native离线包的H5页面解析方法,其特征在于:二级离线包为上一个稳定工作版本的离线包,离线包为最新测试版本的离线包。
8.如权利要求5所述的基于Native离线包的H5页面解析方法,其特征在于:二级离线包为默认的版本的离线包,离线包为最新版本的离线包。
9.如权利要求5所述的基于Native离线包的H5页面解析方法,其特征在于:当包含二级离线包时,如下载完毕的新版本的离线包解析H5页面失败,则尝试从二级离线包进一步解析H5页面。
10.如权利要求5所述的基于Native离线包的H5页面解析方法,其特征在于:当包含二级离线包时,如APP启动出现故障,则尝试从二级离线包进一步解析H5页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810525737.3A CN108733388A (zh) | 2018-05-28 | 2018-05-28 | 一种基于Native离线包的H5页面解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810525737.3A CN108733388A (zh) | 2018-05-28 | 2018-05-28 | 一种基于Native离线包的H5页面解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108733388A true CN108733388A (zh) | 2018-11-02 |
Family
ID=63935520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810525737.3A Pending CN108733388A (zh) | 2018-05-28 | 2018-05-28 | 一种基于Native离线包的H5页面解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108733388A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857374A (zh) * | 2018-12-24 | 2019-06-07 | 航天信息软件技术有限公司 | 移动应用的开发方法及装置 |
CN112015450A (zh) * | 2020-08-25 | 2020-12-01 | 深圳Tcl新技术有限公司 | 加载智能设备控制页面的方法、装置和存储介质 |
CN113315829A (zh) * | 2021-05-26 | 2021-08-27 | 平安普惠企业管理有限公司 | 客户端离线化h5页面加载方法、装置、计算机设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424317A (zh) * | 2013-09-06 | 2015-03-18 | 中国移动通信集团四川有限公司 | 一种向用户终端提供应用的方法和系统 |
US20150100946A1 (en) * | 2013-10-08 | 2015-04-09 | Frank Brunswig | Using mock data to validate applications |
CN107508853A (zh) * | 2017-07-11 | 2017-12-22 | 北京数字医视文化传媒有限公司 | 一种移动app开发的架构方法及系统 |
CN108008971A (zh) * | 2017-12-04 | 2018-05-08 | 科大国创软件股份有限公司 | 一种基于html5的离线压缩包下载实现移动app模块升级的方法 |
-
2018
- 2018-05-28 CN CN201810525737.3A patent/CN108733388A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424317A (zh) * | 2013-09-06 | 2015-03-18 | 中国移动通信集团四川有限公司 | 一种向用户终端提供应用的方法和系统 |
US20150100946A1 (en) * | 2013-10-08 | 2015-04-09 | Frank Brunswig | Using mock data to validate applications |
CN107508853A (zh) * | 2017-07-11 | 2017-12-22 | 北京数字医视文化传媒有限公司 | 一种移动app开发的架构方法及系统 |
CN108008971A (zh) * | 2017-12-04 | 2018-05-08 | 科大国创软件股份有限公司 | 一种基于html5的离线压缩包下载实现移动app模块升级的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857374A (zh) * | 2018-12-24 | 2019-06-07 | 航天信息软件技术有限公司 | 移动应用的开发方法及装置 |
CN109857374B (zh) * | 2018-12-24 | 2023-03-24 | 航天信息软件技术有限公司 | 移动应用的开发方法及装置 |
CN112015450A (zh) * | 2020-08-25 | 2020-12-01 | 深圳Tcl新技术有限公司 | 加载智能设备控制页面的方法、装置和存储介质 |
CN112015450B (zh) * | 2020-08-25 | 2024-01-19 | 深圳Tcl新技术有限公司 | 加载智能设备控制页面的方法、装置和存储介质 |
CN113315829A (zh) * | 2021-05-26 | 2021-08-27 | 平安普惠企业管理有限公司 | 客户端离线化h5页面加载方法、装置、计算机设备及介质 |
CN113315829B (zh) * | 2021-05-26 | 2022-08-12 | 平安普惠企业管理有限公司 | 客户端离线化h5页面加载方法、装置、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2916243B1 (en) | Method, apparatus, server and system for implementing web application | |
CN102693280B (zh) | 网页浏览方法、WebApp框架、执行JavaScript方法及装置、移动终端 | |
US9471704B2 (en) | Shared script files in multi-tab browser | |
US20150301873A1 (en) | Method and system for expanding webapp application function | |
US6964051B1 (en) | Enabling and disabling remote features dynamically in software applications | |
CN108733388A (zh) | 一种基于Native离线包的H5页面解析方法 | |
CN108287836B (zh) | 一种资源缓存方法及装置 | |
WO2011042360A1 (en) | Shared script files in multi-tab browser | |
CN108717359A (zh) | 一种基于离线包的app模块的更新方法 | |
CN106874035B (zh) | 一种用于更新应用(app)内置H5的方法及其框架 | |
CN105577813B (zh) | 一种web混合应用的更新方法和系统 | |
CN112256296A (zh) | 基于Weex的快递服务APP更新方法、装置、设备及存储介质 | |
CN102368249B (zh) | 一种ie内核浏览器的页面下载控制方法和系统 | |
CN106709323A (zh) | 一种识别伪装下载链接的方法和装置 | |
CN109408086A (zh) | App的界面更新方法、装置、计算机设备及存储介质 | |
CN102833350A (zh) | WebApp更新的处理方法和处理装置 | |
CN104731869B (zh) | 页面的展现方法及装置 | |
CN112799663A (zh) | 页面显示方法、装置、计算机可读存储介质及电子设备 | |
CN106776784A (zh) | 一种web页面快速加载的方法 | |
CN111724133A (zh) | 一种创建项目的方法及装置 | |
CN105808282A (zh) | 一种更新应用程序网页内容的方法和装置 | |
CN108762807A (zh) | 一种基于强离线包的h5页面解析方法 | |
US10129363B2 (en) | Plug-in cache | |
CN103139298B (zh) | 一种传输网络数据的方法和装置 | |
CN108804108A (zh) | 一种基于弱离线包的h5页面解析方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181102 |
|
RJ01 | Rejection of invention patent application after publication |