CN108762807A - 一种基于强离线包的h5页面解析方法 - Google Patents
一种基于强离线包的h5页面解析方法 Download PDFInfo
- Publication number
- CN108762807A CN108762807A CN201810523933.7A CN201810523933A CN108762807A CN 108762807 A CN108762807 A CN 108762807A CN 201810523933 A CN201810523933 A CN 201810523933A CN 108762807 A CN108762807 A CN 108762807A
- Authority
- CN
- China
- Prior art keywords
- offline
- packet
- wrapped
- force
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于强离线包的H5页面解析方法,包括如下步骤:生成离线包及相应的配置文件,将离线包预置到服务器中,设定为APP启动后必须下载,构成强离线包,APP启动时检查配置文件,确定是否存在强离线包,如果存在,则将强离线包下载至客户端本地,当APP访问离线包对应的H5页面时,直接从下载完毕的强离线包解析H5页面。本发明,对频繁使用的H5页面优先更新,保证更新的及时性及可靠性,更新方便、快捷,兼顾更新效率及节省流量,提升用户体验,开发效率及后期维护均有所提升。
Description
技术领域
本发明涉及Native和H5混合开发技术领域,具体说是一种基于强离线包的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的测试。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于强离线包的H5页面解析方法,对频繁使用的H5页面优先更新,保证更新的及时性及可靠性,更新方便、快捷,兼顾更新效率及节省流量,提升用户体验,开发效率及后期维护均有所提升。
为达到以上目的,本发明采取的技术方案是:
一种基于强离线包的H5页面解析方法,其特征在于,包括如下步骤:
生成离线包,所述离线包采用zip格式压缩,其中包含一个H5页面或一组相关联的H5页面,
将离线包预置到服务器中,设定为APP启动后必须下载,构成强离线包,
生成配置文件,所述配置文件通过离线包ID唯一标识各离线包,通过版本号唯一标识离线包的版本信息,通过强制下载标识唯一标识强离线包,
将配置文件预置到服务器中,
APP安装包安装到客户端后,APP启动时检查配置文件,确定是否存在强离线包,
如果存在,则向服务器发送请求,将强离线包下载至客户端本地,
当APP访问离线包对应的H5页面时,直接从下载完毕的强离线包解析H5页面。
在上述技术方案的基础上,所述离线包,其中至少包括:
HTML代码,CSS代码,JS代码和静态图片。
在上述技术方案的基础上,所述强离线包中包括APP启动后展示几率大于等于160%的模块,所述模块包括H5页面。
在上述技术方案的基础上,所述客户端为便携移动设备或虚拟便携移动设备。
在上述技术方案的基础上,离线包中还包括:
二级离线包,与离线包对应同一个或同一组相关联的H5页面,二级离线包的版本低于离线包的版本。
在上述技术方案的基础上,二级离线包为上一个版本的离线包,离线包为最新版本的离线包。
在上述技术方案的基础上,二级离线包为上一个稳定工作版本的离线包,离线包为最新测试版本的离线包。
在上述技术方案的基础上,二级离线包为默认的版本的离线包,离线包为最新版本的离线包。
在上述技术方案的基础上,当包含二级离线包时,如下载完毕的强离线包解析H5页面失败,则尝试从二级离线包进一步解析H5页面。
在上述技术方案的基础上,当包含二级离线包时,如APP启动出现故障,则尝试从二级离线包进一步解析H5页面。
本发明所述的基于强离线包的H5页面解析方法,对频繁使用的H5页面优先更新,保证更新的及时性及可靠性,更新方便、快捷,兼顾更新效率及节省流量,提升用户体验,开发效率及后期维护均有所提升。具有以下优点:
1、更新及时、高效;
2、客户端加载速度快;
3、用户体验比较好;
4、可以一定程度上避免DNS劫持。
附图说明
本发明有如下附图:
图1本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的基于强离线包的H5页面解析方法,包括如下步骤:
生成离线包,所述离线包采用zip格式压缩,其中包含一个H5页面或一组相关联的H5页面,
将离线包预置到服务器中,设定为APP启动后必须下载,构成强离线包,
生成配置文件,所述配置文件通过离线包ID唯一标识各离线包,通过版本号唯一标识离线包的版本信息,通过强制下载标识唯一标识强离线包,更进一步,可通过失效标识唯一标识离线包是否启用,
将配置文件预置到服务器中,配置文件可采用文本文件格式存储,以便于快速检索,
APP安装包安装到客户端后,APP启动时检查配置文件,确定是否存在强离线包,
如果存在,则向服务器发送请求,将强离线包下载至客户端本地,
当APP访问离线包对应的H5页面时,直接从下载完毕的强离线包解析H5页面。
如果强离线包下载失败,或解析错误,可尝试从线上地址进行访问。
强离线包APP启动的时候检查更新。这种离线包主要针对用户访问频率比较高的页面。
更进一步,配置文件中有离线包的hash值及下载地址信息,通过hash值比对确定服务器和本地的强离线包是否相同。以下为一个配置文件示例:
8000000
appid "8000000"
name "feedback-h5"
version "1.0.37"
title "反馈系统"
description "feedback offline"
offline true
launchParams
url "/index.html"
showTitleBar true
showOptionMenu true
showLoading true
showProgress false
cdn "static.kuwo.cn"
host
dev "http://174.17.71.35:8683/8000000"
online "http://appkuwo.cn/8000000"
hash "9f61ec1a04dd97bc5d05cffcfa5597bd"
zip "http://static.kuwo.cn/8000000/h5app_8000000_1.0.37_1526487752633.zip"
0000006
appid "0000006"
name "app9_0"
version "2.1.28"
title "主播电台"
description "9.0主板离线包"
offline true
launchParams
url "/classify.html"
showTitleBar true
showOptionMenu true
showLoading true
showProgress false
cdn "static.kuwo.cn"
host
dev "http://appkuwo.cn/0000006"
online "http://appkuwo.cn/0000006"
hash "20a1e2f4559ba8fe6ec8c8103c97f111"
zip "http://static.kuwo.cn/0000006/h5app_0000006_2.1.28_1525422434254.zip"
0000002
appid "0000002"
name "offline-demo"
version "0.0.9"
title "离线应用测试demo"
description "离线包demo"
offline true
launchParams
url "/www/index.html"
showTitleBar true
showOptionMenu true
showLoading true
showProgress false
host
dev "http://appkuwo.cn/0000002"
test "http://appkuwo.cn/0000002"
online "http://appkuwo.cn/0000002"
hash "344859c352a627292156"
zip "http://image.kuwo.cn/mpage/h5app/0000002/h5app_0000002_0.0.9_344859c352a627292156.zip"
0000003
appid "0000003"
name "arealist"
version "0.5.4"
title "专区"
description "arealist"
offline true
launchParams
url "/www/index.html"
showTitleBar true
showOptionMenu true
showLoading true
showProgress false
host
dev "http://appkuwo.cn/0000003"
test "http://appkuwo.cn/0000003"
online "http://appkuwo.cn/0000003"
hash "d7558194549903097cdb"
zip "http://static.kuwo.cn/0000003/h5app_0000003_0.5.4_d7558194549903097cdb.zip"
0000001
appid "0000001"
name "test-demo"
version "1.1.1"
title "功能测试"
description "功能测试demo"
offline true
launchParams
url "/www/index.html"
showTitleBar true
showOptionMenu true
showLoading true
showProgress false
host
dev "http://appkuwo.cn/0000001"
test "http://appkuwo.cn/0000001"
online "http://appkuwo.cn/0000001"
hash "ae034f5b732a1b5d8b85"
zip http://image.kuwo.cn/mpage/h5app/0000001/h5app_0000001_1.1.1_ae034f5b732a1b5d8b85.zip。
在上述技术方案的基础上,所述离线包,其中至少包括:
HTML代码,CSS代码,JS代码和静态图片。
更进一步,离线包中还包括:
二级离线包,与离线包对应同一个或同一组相关联的H5页面,二级离线包的版本低于离线包的版本。即强离线包中还包括一二级离线包,以便根据需要合理选用。
例如:
二级离线包为上一个版本的离线包,离线包为最新版本的离线包。
再例如:
二级离线包为上一个稳定工作版本的离线包,离线包为最新测试版本的离线包。
又例如:
二级离线包为默认的版本的离线包,离线包为最新版本的离线包。
所述默认的版本可以是:
默认一个或一组预设服务器的版本的离线包,
默认最后一版稳定工作版本的离线包。
二级离线包的信息亦存储于配置文件中。可采用二级标识唯一标识二级离线包。
当包含二级离线包时,如下载完毕的强离线包解析H5页面失败,则尝试从二级离线包进一步解析H5页面。
更进一步,当包含二级离线包时,如APP启动出现故障,则尝试从二级离线包进一步解析H5页面。
在上述技术方案的基础上,所述强离线包中包括APP启动后展示几率大于等于160%的模块,所述模块包括H5页面。
展示几率计算方式为:在单位时间内,某模块展示的总数/活跃APP总数*100%。举个例子,一个APP有10万个用户,昨天一天启动的用户总数1万,这1万个用户每个至少访问一次该模块,而该模块总共被访问的次数达到超过16000,那么这个离线包的展示几率就是16000/10000*100%=160%。
在上述技术方案的基础上,所述客户端为便携移动设备或虚拟便携移动设备。
所述便携移动设备尤指手机。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种基于强离线包的H5页面解析方法,其特征在于,包括如下步骤:
生成离线包,所述离线包采用zip格式压缩,其中包含一个H5页面或一组相关联的H5页面,
将离线包预置到服务器中,设定为APP启动后必须下载,构成强离线包,
生成配置文件,所述配置文件通过离线包ID唯一标识各离线包,通过版本号唯一标识离线包的版本信息,通过强制下载标识唯一标识强离线包,
将配置文件预置到服务器中,
APP安装包安装到客户端后,APP启动时检查配置文件,确定是否存在强离线包,
如果存在,则向服务器发送请求,将强离线包下载至客户端本地,
当APP访问离线包对应的H5页面时,直接从下载完毕的强离线包解析H5页面。
2.如权利要求1所述的基于强离线包的H5页面解析方法,其特征在于:所述离线包,其中至少包括:
HTML代码,CSS代码,JS代码和静态图片。
3.如权利要求1所述的基于强离线包的H5页面解析方法,其特征在于:所述强离线包中包括APP启动后展示几率大于等于160%的模块,所述模块包括H5页面。
4.如权利要求1所述的基于强离线包的H5页面解析方法,其特征在于:所述客户端为便携移动设备或虚拟便携移动设备。
5.如权利要求2所述的基于强离线包的H5页面解析方法,其特征在于:离线包中还包括:
二级离线包,与离线包对应同一个或同一组相关联的H5页面,二级离线包的版本低于离线包的版本。
6.如权利要求5所述的基于强离线包的H5页面解析方法,其特征在于:二级离线包为上一个版本的离线包,离线包为最新版本的离线包。
7.如权利要求5所述的基于强离线包的H5页面解析方法,其特征在于:二级离线包为上一个稳定工作版本的离线包,离线包为最新测试版本的离线包。
8.如权利要求5所述的基于强离线包的H5页面解析方法,其特征在于:二级离线包为默认的版本的离线包,离线包为最新版本的离线包。
9.如权利要求5所述的基于强离线包的H5页面解析方法,其特征在于:当包含二级离线包时,如下载完毕的强离线包解析H5页面失败,则尝试从二级离线包进一步解析H5页面。
10.如权利要求5所述的基于强离线包的H5页面解析方法,其特征在于:当包含二级离线包时,如APP启动出现故障,则尝试从二级离线包进一步解析H5页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810523933.7A CN108762807B (zh) | 2018-05-28 | 2018-05-28 | 一种基于强离线包的h5页面解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810523933.7A CN108762807B (zh) | 2018-05-28 | 2018-05-28 | 一种基于强离线包的h5页面解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108762807A true CN108762807A (zh) | 2018-11-06 |
CN108762807B CN108762807B (zh) | 2022-03-25 |
Family
ID=64003147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810523933.7A Active CN108762807B (zh) | 2018-05-28 | 2018-05-28 | 一种基于强离线包的h5页面解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108762807B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538926A (zh) * | 2020-04-20 | 2020-08-14 | 北京达佳互联信息技术有限公司 | 一种离线包自动发布方法、装置、电子设备及存储介质 |
CN113873013A (zh) * | 2018-12-25 | 2021-12-31 | 创新先进技术有限公司 | 一种离线包重组方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130298116A1 (en) * | 2010-11-19 | 2013-11-07 | Beijing Qihoo Technology Company Limited | Method and System for Intelligent Installation/Upgrading of Software |
CN104182241A (zh) * | 2013-05-24 | 2014-12-03 | 华为终端有限公司 | 一种网页应用程序更新方法及通信设备 |
CN105975296A (zh) * | 2016-04-26 | 2016-09-28 | 百度在线网络技术(北京)有限公司 | 移动应用升级方法和装置 |
CN107203555A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 页面加载处理方法及装置 |
CN108008971A (zh) * | 2017-12-04 | 2018-05-08 | 科大国创软件股份有限公司 | 一种基于html5的离线压缩包下载实现移动app模块升级的方法 |
-
2018
- 2018-05-28 CN CN201810523933.7A patent/CN108762807B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130298116A1 (en) * | 2010-11-19 | 2013-11-07 | Beijing Qihoo Technology Company Limited | Method and System for Intelligent Installation/Upgrading of Software |
CN104182241A (zh) * | 2013-05-24 | 2014-12-03 | 华为终端有限公司 | 一种网页应用程序更新方法及通信设备 |
CN107203555A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 页面加载处理方法及装置 |
CN105975296A (zh) * | 2016-04-26 | 2016-09-28 | 百度在线网络技术(北京)有限公司 | 移动应用升级方法和装置 |
CN108008971A (zh) * | 2017-12-04 | 2018-05-08 | 科大国创软件股份有限公司 | 一种基于html5的离线压缩包下载实现移动app模块升级的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873013A (zh) * | 2018-12-25 | 2021-12-31 | 创新先进技术有限公司 | 一种离线包重组方法及系统 |
CN113873013B (zh) * | 2018-12-25 | 2023-06-16 | 创新先进技术有限公司 | 一种离线包重组方法及系统 |
CN111538926A (zh) * | 2020-04-20 | 2020-08-14 | 北京达佳互联信息技术有限公司 | 一种离线包自动发布方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108762807B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2604326C2 (ru) | Метод просмотра web-страниц, платформа webapp, метод и устройство для исполнения javascript для мобильных терминалов | |
RU2673403C2 (ru) | Способ доступа к веб-узлам, устройство и система веб-узла | |
EP2916243B1 (en) | Method, apparatus, server and system for implementing web application | |
KR101099272B1 (ko) | 외부 프로그램 테마를 사용하는 웹페이지 렌더링을 위한 테마 적용 방법 | |
US6964051B1 (en) | Enabling and disabling remote features dynamically in software applications | |
CN107704615B (zh) | 基于中文字体子集化的网页字体显示方法及系统 | |
US20150301873A1 (en) | Method and system for expanding webapp application function | |
CN111381852A (zh) | 基于Flutter的应用动态更新方法、装置、存储介质及电子设备 | |
US20130219383A1 (en) | Using an Application Cache to Update Resources of Installed Applications | |
CN104156243B (zh) | 一种应用分发和快速加载运行的系统及方法 | |
US20100088695A1 (en) | System and method for localizing a server application using a client-side translator | |
CN106874035B (zh) | 一种用于更新应用(app)内置H5的方法及其框架 | |
US20140040746A1 (en) | Methods and apparatus for voiced-enabling a web application | |
CN108717359A (zh) | 一种基于离线包的app模块的更新方法 | |
CN112799663A (zh) | 页面显示方法、装置、计算机可读存储介质及电子设备 | |
CN108733388A (zh) | 一种基于Native离线包的H5页面解析方法 | |
CN108762807A (zh) | 一种基于强离线包的h5页面解析方法 | |
CN101650713B (zh) | 在浏览器中实现标签页的方法与装置 | |
CN104731869A (zh) | 页面的展现方法及装置 | |
CN105808282A (zh) | 一种更新应用程序网页内容的方法和装置 | |
US20180285467A1 (en) | Web server | |
CN108804108A (zh) | 一种基于弱离线包的h5页面解析方法 | |
CN109240673B (zh) | 一种基于react-native的视图动态加载更新方法及系统 | |
JP5541160B2 (ja) | プログラム入手・実行クライアント、プログラム入手・実行方法およびプログラム | |
CN103139298A (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 |