CN108287839A - 一种页面加载方法和设备 - Google Patents
一种页面加载方法和设备 Download PDFInfo
- Publication number
- CN108287839A CN108287839A CN201710013672.XA CN201710013672A CN108287839A CN 108287839 A CN108287839 A CN 108287839A CN 201710013672 A CN201710013672 A CN 201710013672A CN 108287839 A CN108287839 A CN 108287839A
- Authority
- CN
- China
- Prior art keywords
- page
- data packet
- line data
- resource
- loaded
- 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
- 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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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
Abstract
本申请公开了一种页面加载方法和设备,包括:接收页面加载请求,并确定所述页面加载请求中包含的待加载页面所记载业务的业务类型;从离线数据包集中查找与所述业务类型对应的离线数据包,业务类型相同的业务所对应的页面的页面资源在同一个离线数据包中;从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,并利用所述页面资源执行页面渲染操作以完成页面加载。针对发起的HTML页面加载请求,准确定位待加载页面的业务类型,进而快速根据业务类型确定包含待加载页面的离线数据包,并获取离线数据包中的页面资源,进而实现本地加载页面资源,有效提升了现有技术中页面加载时间过长的问题。
Description
技术领域
本申请涉及互联网信息处理技术以及计算机技术领域,尤其涉及一种页面加载方法和设备。
背景技术
随着科学技术以及通信技术的发展,出现了移动互联网。所谓移动互联网是移动通信和互联网融合的产物。即在运营商提供的移动通信平台上发布各种互联网应用,以实现为不同用户提供网络服务。
在移动互联网开发领域,存在Native App(原生应用)、Web App(网页应用)和Hybrid App(混合模式移动应用)这三种类型的应用。
其中,Native App又被称之为传统App,即针对iOS、Android等各种不同的手机操作系统采用不同的语言进行开发得到的App,这种App拥有良好的硬件设备API支持,提供优质的用户界面,实现复杂的动画交互,给用户以良好的用户体验;Web App是一种采用网页技术在移动端进行开发的App;Hybrid App作为一种混合模式的移动应用,兼具了NativeApp和Web App的诸多优点。
Hybrid App既拥有Native App的硬件设备API,能够支持HTML(Hyper TextMarkup Language;超文本标记语言)5/JS(JavaScript;脚本语言)/CSS(Cascading StyleSheets;层叠样式表)等各种前端语言进行开发,又具备Web App的跨平台、发布效率高等优势,成为移动互联网的应用开发者必不可少的技术选择。
然而,Hybrid App在响应HTML页面的加载请求时存在页面加载时间过程的问题。
发明内容
有鉴于此,本申请实施例提供了一种页面加载方法和设备,用于解决现有技术中Hybrid APP在响应HTML页面的加载请求时存在页面加载时间过程的问题。
本申请实施例提供一种页面加载方法,包括:
接收页面加载请求,并确定所述页面加载请求中包含的待加载页面所记载业务的业务类型;
从离线数据包集中查找与所述业务类型对应的离线数据包,所述离线数据包集中包含至少一个离线数据包,业务类型相同的业务所对应的页面的页面资源在同一个离线数据包中;
从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,并利用所述页面资源执行页面渲染操作以完成页面加载。
本申请实施例还提供一种页面加载设备,包括:
接收单元,接收页面加载请求;
处理单元,确定所述页面加载请求中包含的待加载页面所记载业务的业务类型;并从离线数据包集中查找与所述业务类型对应的离线数据包,所述离线数据包集中包含至少一个离线数据包,业务类型相同的业务所对应的页面的页面资源在同一个离线数据包中;从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源;
加载单元,利用所述页面资源执行页面渲染操作以完成页面加载。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过接收页面加载请求,并确定所述页面加载请求中包含的待加载页面所记载业务的业务类型;从离线数据包集中查找与所述业务类型对应的离线数据包,所述离线数据包集中包含至少一个离线数据包,业务类型相同的业务所对应的页面的页面资源在同一个离线数据包中;从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,并利用所述页面资源执行页面渲染操作以完成页面加载。针对发起的HTML页面加载请求,准确定位待加载页面的业务类型,进而快速根据业务类型确定包含待加载页面的离线数据包,并获取离线数据包中的页面资源,进而实现本地加载页面资源,有效提升了现有技术中页面加载时间过长的问题,不仅有效提升页面加载效率,而且还改善了页面加载的准确性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中提供的一种页面加载方法的流程示意图;
图2为本申请实施例中提供的一种页面加载方法的流程示意图;
图3为本申请实施例构建响应数据的流程示意图;
图4为本申请实施例提供的一种离线数据包更新方法的流程示意图;
图5为本申请实施例提供的一种页面加载方法的流程示意图;
图6为本申请实施例提供的一种页面加载方法的场景示意图;
图7为本申请实施例提供的一种页面加载设备的结构示意图。
具体实施方式
为了实现本申请的目的,本申请实施例提供了一种页面加载方法和设备,针对发起的HTML页面加载请求,准确定位待加载页面的业务类型,进而快速根据业务类型确定包含待加载页面的离线数据包,并获取离线数据包中的页面资源,进而实现本地加载页面资源,有效提升了现有技术中页面加载时间过长的问题,不仅有效提升页面加载效率,而且还改善了页面加载的准确性。
本申请实施例中利用NS URL Protocol(URL加载系统)和NS URL ProtocolClient(URL加载系统客户端)实现Hybrid APP加载本地磁盘的HTML页面。
本申请实施例中所记载的NS URL Protocol是Cocoa touch框架提供的抽象类,由一系列的回调函数组成,为加载URL对应的页面数据提供基础的结构,可劫持全局由NS URLConnection发起的网络请求,通过重写NS URL Protocol方法实现定制发起Request请求(可理解为页面加载获取请求)、返回需要的页面数据,对已有网络协议进行处理等等。
本申请实施例中所记载的NS URL Protocol Client(可以视为本申请实施例中所记载的终端设备中安装的APP)提供NS URL Protocol对象控制URL Loading System加载URL的方法。当NS URL Protocol对象对URL对应的页面数据进行各种操作时,需要调用NSURL Protocol Client的方法。
本申请实施例中所记载的响应数据可以是指支持HTTP(Hyper Text TransferProtocol;超文本传输)协议的数据,该响应数据包含两部分,一部分称之为数据头,包括页面加载请求的资源类型、数据长度以及页面加载请求中包含的地址(本申请实施例中所记载的地址可以为URL(Uniform Resource Locator,统一资源定位符));另一部分称之为数据内容,包括HTML文件和静态资源文件;也可以是支持其他协议的数据,这里不做具体限定。
本申请实施例中所记载的静态资源文件包含但不限于JS(JavaScript;脚本语言)文件、CSS(Cascading Style Sheets;层叠样式表)文件、图片资源文件。
本申请实施例中所记载的页面资源包含但不限于HTML文件和静态资源文件。
本申请实施例中所记载的“本地”可以理解为终端设备的磁盘、存储器等。
本申请实施例中所记载的所述业务类型包含机票类型、酒店类型、火车票类型、公共汽车票类型、旅行类型、景点门票类型中的至少一种或者多种。不同业务类型对应的页面所需要的HTML文件和/或静态资源文件存在差异。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
图1为本申请实施例提供的一种页面加载方法的流程示意图。所述方法可以如下所示。
步骤101:接收页面加载请求。
在本申请实施例中,当用户需要访问某一页面时,可以通过所持有的终端设备或者终端设备中安装的APP发起页面加载请求,此时终端设备将接收到用户发送的页面加载请求,启动对该页面加载请求的处理流程。
步骤102:确定所述页面加载请求中包含的待加载页面所记载业务的业务类型。
在本申请实施例中,服务器所提供的业务服务至少一种,对于不同业务类型的业务服务所设置的业务逻辑不同,这里的业务逻辑可以理解为提供业务服务所支持的逻辑,由于业务逻辑不同,进而导致不同业务所加载页面所需要的页面资源不同。
在接收到页面加载请求时,可以对该页面加载请求进行解析,通过解析可以获取该待加载页面的逻辑地址,也可以获取该待加载页面所记载业务的业务类型。这里的业务类型可以是指机票类型、酒店类型、火车票类型、公共汽车票类型、旅行类型、景点门票类型中的至少一种或者多种。
即用户请求加载的页面所记载业务的业务类型,例如:用户请求获取某一天的机票,那么发送的页面加载请求中包含表征机票类型的关键词或者标识,这样在接收到该页面加载请求时,可以根据表征机票类型的关键词或者标识准确所述页面加载请求中包含的待加载页面所记载业务的业务类型。
步骤103:从离线数据包集中查找与所述业务类型对应的离线数据包。
其中,所述离线数据包集中包含至少一个离线数据包,业务类型相同的业务所对应的页面的页面资源在同一个离线数据包中。
在本申请实施例中,预先建立业务类型与离线数据包之间的映射关系,即业务类型相同的不同页面的页面资源在同一个离线数据包中。
例如:机票类型的业务所对应的不同页面的页面资源存储在同一个离线数据包中;火车票类型的业务所对应的不同页面的页面资源存储在同一个离线数据包中;住宿类型的业务所对应的不同页面的页面资源存储在同一个离线数据包中;等等,这里不再一一举例说明。
针对同一种业务类型,在该业务类型对应的页面资源中包含HTML文件、静态资源文件、业务类型对应的搜索资源、该业务类型对应的活动资源等,例如:度假类型的业务,在该度假类型业务对应的页面资源中包含与度假内容相关的HTML文件、静态资源文件(例如:度假图片、度假文字介绍等)、支持搜索的资源文件以及度假类型业务对应的提供活动的资源文件(例如:会员活动等);再例如:车票类型的业务,在该车票类型业务对应的页面资源中包含与车票内容相关的HTML文件、静态资源文件、支持搜索的资源文件以及车票类型业务对应的提供活动的资源文件(例如:会员活动等)。
具体地,通过以下方式得到业务类型与离线数据包之间的映射关系:
接收服务器发送的多个页面资源,所述页面资源用于在离线状态下响应页面加载请求;
确定不同的所述页面资源对应的页面所记载业务的业务类型;
根据所述业务类型,将接收到的多个页面资源进行分组,得到不同组的离线数据包,所述离线数据包中包含业务类型相同的业务所对应的页面的页面资源;
建立业务类型与包含所述业务类型所对应的页面的页面资源的离线数据包之间的映射关系。
进而,将不同组的离线数据包形成离线数据包集。
那么在本申请实施例中,在接收到页面加载请求时,可以根据业务类型与包含所述业务类型所对应的页面的页面资源的离线数据包之间的映射关系,从离线数据包集中查找与接收到的所述页面加载请求中包含的业务类型对应的离线数据包。
在本申请的另一个实施例中,在得到所述业务类型对应的离线数据包时,所述方法还包括:
确定所述离线数据包的物理存储空间;
根据所述物理存储空间,为所述离线数据包中不同页面的页面资源分配物理存储地址;
按照所述物理存储地址存储所述页面资源,并建立所述页面资源对应页面的逻辑地址与所述物理存储地址之间的映射关系。
在本申请实施例中,所述页面资源对应页面的逻辑地址与所述物理存储地址之间的映射关系可以记载的H5CacheList文件中,以便于根据这种映射关系确定待加载页面的页面资源。
步骤104:从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,并利用所述页面资源执行页面渲染操作以完成页面加载。
具体地,确定所述待加载页面的逻辑地址;并根据页面的逻辑地址与页面资源的物理存储地址之间的映射关系,确定与所述待加载页面的逻辑地址对应的页面资源的物理存储地址;
根据所述物理存储地址,从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源。
在本申请的另一个实施例中,从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
判断缓存中是否存储加载所述待加载页面所需要的页面资源;
若判断结果是缓存中尚未存储加载所述待加载页面所需要的页面资源,则从查找到的所述离线数据包中获取所述页面资源。
若判断结果是缓存中已存储加载所述待加载页面所需要的页面资源,则调用数据获取函数,从所述缓存中调取所述页面资源。
在本申请的另一个实施例中,从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
判断查找到的所述离线数据包中是否包含待加载页面所需要的超文本标记语言HTML文件和静态资源文件;
若包含HTML文件和静态资源文件,则从查找到的所述离线数据包中获取加载所述待加载页面所需要的HTML文件和静态资源文件;
若包含HTML文件但不包含静态资源文件,则查找到的所述离线数据包中获取加载所述待加载页面所需要的HTML文件,并向服务器发送静态资源获取请求,以从所述服务器中获取所述待加载页面所需要的静态资源文件。
在本申请的另一个实施例中,利用所述页面资源执行页面渲染操作以完成页面加载,包括:
解析所述页面资源中的超文本标记语言HTML文件,并调用异步线程以解析所述页面资源中的静态资源文件;
在解析得到HTML代码和静态资源时,同步加载所述HTML代码和所述静态资源。
这种方式既能够不影响业务逻辑的执行,又能够保证页面渲染的效率。
在本申请的另一个实施例中,所述方法还包括:
更新所述离线数据包。
在本申请的另一个实施例中,更新所述离线数据包,包括:
接收所述服务器发送的增量数据包,所述增量数据包中包含HTML页面的页面类型;
利用所述增量数据包,对所述页面类型对应的离线数据包进行更新。
在本申请实施例中,一个APP如果包含一种业务,那么该APP对应的离线数据包就一个,一个APP如果包含多种业务,那么该APP对应的离线数据包就是多个,即每一种业务类型对应一个离线数据包,在该离线数据包中包含该业务类型对应页面的页面资源,这里的页面资源包含HTML页面、静态资源文件、页面搜索文件、活动页文件等等。
通过本申请提供的技术方案,接收页面加载请求,并确定所述页面加载请求中包含的待加载页面所记载业务的业务类型;从离线数据包集中查找与所述业务类型对应的离线数据包,所述离线数据包集中包含至少一个离线数据包,业务类型相同的业务所对应的页面的页面资源在同一个离线数据包中;从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,并利用所述页面资源执行页面渲染操作以完成页面加载。针对发起的HTML页面加载请求,准确定位待加载页面的业务类型,进而快速根据业务类型确定包含待加载页面的离线数据包,并获取离线数据包中的页面资源,进而实现本地加载页面资源,有效提升了现有技术中页面加载时间过长的问题,不仅有效提升页面加载效率,而且还改善了页面加载的准确性。
实施例2
图2为本申请实施例中提供的一种页面加载方法的流程示意图。所述方法可以如下所示。本申请实施例的执行主体可以是终端设备,也可以是终端设备中安装的APP客户端,这里不做具体限定。
步骤201:接收页面加载请求,所述页面加载请求中包含待加载页面的地址。
在本申请实施例中,当用户需要访问某一页面时,可以通过所持有的终端设备或者终端设备中安装的APP发起页面加载请求,此时终端设备将接收到用户发送的页面加载请求,启动对该页面加载请求的处理流程。
在本申请实施例中,利用NS URL Protocol和NS URL Protocol Client实现Hybrid APP加载本地磁盘的HTML页面,那么可以通过继承NS URL Protocol、重写关键函数以实现自定义Fusion URL Protocol,进而通过方法【NS URL Protocol register Class:【Fusion URL Protocol Class】】注册Fusion URL Protocol,以实现通过Fusion URLProtocol控制HTML页面加载。
具体地,在本申请实施例中,在接收到用户发送的页面加载请求时,可以通过重写NS URL Protocol的回调函数(例如:+(BOOL)can Init With Request:(NS URL Request*)request)得到request请求,该request请求用于请求获取页面加载请求中包含的待加载页面的地址对应的页面数据。
步骤202:从本地磁盘中查找是否存在所述地址对应的离线数据包,若存在,则执行步骤203;否则,将所述页面加载请求发送至服务器。
为了缩短页面加载的时间,在本申请实施例中,采用本地磁盘的离线数据包加载方式,因此,在接收到页面加载请求时,需要判断本地磁盘中是否存在待加载页面的地址对应的离线数据包。
具体地,根据所述待加载页面的地址,判断所述地址对应的数据包是否在本地的离线数据包中查找到;若查找到,则确定在本地查找到所述地址对应的离线数据包。
假设通过重写NS URL Protocol的回调函数(例如:+(BOOL)can Init WithRequest:(NS URL Request*)request)得到request请求,即在接收到request请求时,基于request请求中包含的地址,可以判断是否能够在本地磁盘中找到该地址对应的离线数据包,也可以调用Load Cache Data For URL函数,页面加载请求中包含的地址作为该函数的参数。
若对应该函数的返回值不为空,则说明本地磁盘中包含该地址对应的离线数据包;进一步地,can Init With Request函数对应的返回值为Yes,说明需要拦截该页面加载请求,可以使用本申请所记载的离线数据包加载方式以响应页面加载请求,完成页面加载;
若对应该函数的返回值为空,则说明本地磁盘中未包含该地址对应的离线数据包;进一步地,can Init With Request函数对应的返回值为No,说明不需要拦截该页面加载请求,此时需要将该页面加载请求发送至服务器。
假设终端设备从服务器获取所安装APP的离线数据包,根据所安装APP中包含的业务类型,按照业务逻辑的方式将不同业务类型对应的HTML页面的离线数据进行划分,相同业务逻辑的HTML页面的离线数据被划分至同一个离线数据包中。
例如:按照票务业务的业务逻辑,可以将机票对应的HTML页面的离线数据、火车票对应的HTML页面的离线数据等离线数据划分在同一个离线数据包中。
那么在本申请实施例中,判断所述地址对应的数据包是否在本地的离线数据包中查找到的方式包括但不限于:
确定所述地址对应的HTML页面,并确定所述HTML页面对应的业务逻辑;
根据业务逻辑与离线数据包之间的映射关系,查找与确定的所述业务逻辑对应的离线数据包;
判断从查找到的所述离线数据包中是否存在所述地址对应的数据包。
步骤203:进一步判断查找到的所述离线数据包中是否包含待加载页面所需要的静态资源文件,若确定所述离线数据包中包含待加载页面所需要的静态资源文件,那么执行步骤204;否则,执行步骤206。
由于在加载HTML页面时,首先加载的是.HTML请求(即页面加载请求),然后自上而下解析.HTML文件,依次加载HTML页面所需要的各个静态资源。在步骤203中,首先通过自定义的NS URL Protocol拦截.HTML请求(页面加载请求),其次调用can Init With Request函数并判断该函数的返回值是否为空,若不为空,则请求返回所需要的离线数据,进一步判断获取到的离线数据中是否包含待加载页面所需要的静态资源文件,若包含,则确定所述离线数据包中包含待加载页面所需要的静态资源文件;若不包含,则确定所述离线数据包中未包含待加载页面所需要的静态资源文件。
步骤204:在本地查找到所述地址对应的离线数据包且确定所述离线数据包中包含所述待加载页面所需要的静态资源文件时,基于所述离线数据包构建响应数据,所述响应数据中包含用于响应所述待加载页面的超文本标记语言HTML文件和静态资源文件。
在本申请实施例中,若确定在本地查找到的所述地址对应的离线数据包中既包含HTML文件又包含HTML页面所需要的静态资源文件时,基于该离线数据包构建响应数据,以便于浏览器或者UI Web View调用该响应数据完成页面加载。
所构建的响应数据一般包含两部分:一部分是NS HTTP URL Response,这一部分可以告诉浏览器或者UI Web View所请求的资源类型、数据长度和请求的URL;另一部分是所需要加载的页面资源(包含HTML文件和静态资源文件)。
在构建响应数据时,首先,变量self.request可代表发起请求的原始request,进而根据request确定页面加载请求中包含的地址,调用Load Cache Data For URL函数从本地磁盘中获取URL对应的离线数据。
其次,根据URL的后缀可获得http资源的媒体类型mime Type,以此作为HTTP响应数据头部head的Content-Type值;取获取到的离线数据(data)的长度作为head的Content-Length值。
最后,根据URL、HTTP响应数据头部head、HTTP响应状态码(200)和HTTP协议版本(HTTP/1.1)构建NS HTTP URL Response(即响应数据)。
由于考虑到不管是请求HTML资源还是请求静态资源,都需要对本地磁盘执行多次的I/O操作,在本申请实施例中,为了减少对本地磁盘执行I/O操作的次数,在确定本地磁盘中存在所述地址对应的离线数据包以及所述离线数据包中包含待加载页面所需要的静态资源文件时,将所述地址对应的离线数据包(这里的离线数据包可以理解为包含但不限于响应该页面加载请求所需要的HTML文件和静态资源文件)存储至缓存中。
在实际应用中,加载HTML页面需要执行多次的I/O操作,例如,对于同一个HTML文件请求,can Init With Request函数将被调用三次,start Loading将执行两次,即对于同一个HTML文件请求将会执行5次I/O操作;对于同一个JS/CSS资源文件请求,can Init WithRequest函数将被调用一次,start Loading将执行一次,即对于同一个JS/CSS资源文件请求将会执行2次I/O操作,然而,在本申请实施例中提出使用NS Cache缓存技术,即在首次执行I/O操作后将访问的数据存储至NS Cache中,以便于后续直接从NS Cache中获取所需要的数据,这样将针对同一个文件请求的I/O操作优化为一次,有助于提升数据获取效率,缩短页面加载时间。
可选地,在本申请的另一个实施例中,在确定本地磁盘中存在所述地址对应的离线数据包以及所述离线数据包中包含待加载页面所需要的静态资源文件时,还可以进一步判断该离线数据包是否已被写入缓存中,若判断结果为是,即可以确定该离线数据包已写入缓存,那么此时在根据所述地址确定缓存中存在所述地址对应的离线数据包时,调用数据获取函数,从所述缓存中得到响应数据。
若判断结果为否,即可以确定该离线数据包尚未写入缓存,那么此时根据本地存储的地址与离线数据包的包标识之间的映射关系,确定与所述地址对应的离线数据包的包标识;
根据所述离线数据包的包标识,确定离线数据包,所述离线数据包中包含HTML文件、静态资源文件和配置信息,所述配置信息中包含离线数据包的包标识与所述离线数据包的相对存储地址之间的映射关系;将所述离线数据包存储至缓存中。
需要说明的是,本申请实施例中所记载的配置信息,该配置信息用于实现离线数据包中每个文件的逻辑地址与其本地相对地址的映射关系,例如:“trip/holiday/search/search.html"(逻辑地址):"search/search.html”(本地相对地址),可以理解为http://h5.m.taobao.com/trip/holiday/search/search.html对应文件的本地相对地址是/search/search.html,以便于在进行离线加载时,基于相对地址确定文件的逻辑地址,进而得到文件的物理存储地址,从物理存储地址中获取到给文件,这样不仅能够有效降低离线数据包的容量,还能够有效提升页面加载效率,避免页面加载时间过长的问题。
可选地,NS Cache作为NS Foundation框架提供给用户的缓存类,采用key/Value的存储模式,具备使用方便、线程安全的特性,并且在内存紧张的时候能够实现自动释放。即在创建一个新的HTML页面时,为该新的HTML页面分配512M的NS Cache,当该页面所占用的内存需要被释放时,可以调用deal loc函数,释放内存资源,以避免内存资源的浪费。本申请实施例中,采用单例模式,可以在创建一个新的HTML页面时,为该新的HTML页面分配常驻内存,即在创建HTML页面时通过I/O操作将HTML页面所需要的页面资源放入内容,以便于在后续对该页面进行访问或者执行其他操作时能够直接从内存中读取数据,缩短数据获取时间,加快页面响应速度。
图3为本申请实施例构建响应数据的流程示意图。
S31:在构建响应数据之前,判断缓存中是否存在所述地址对应的离线数据包,若存在,则执行S32;若不存在,则执行S34。
具体地,以地址作为Key值,判断NS Cache缓存中是否存在与Key所对应的Value,即所述地址对应的离线数据包,若存在,说明在步骤102中读取过地址对应的离线数据包,而本次直接从缓存中获取即可,减少了I/O操作。
S32:根据所述地址确定缓存中存在所述地址对应的离线数据包。
具体地,以所述地址为关键词,从缓存中查找与所述地址对应的离线数据包。
S33:调用数据获取函数,从所述缓存中得到响应数据。
本申请实施例中所记载的数据获取函数可以为load Cached Data For URL函数,即通过URL获取其对应的本地数据Data。
具体地,确定所述离线数据包中包含的配置信息以及所述离线数据包的物理存储地址;
根据所述配置信息中包含的离线数据包的包标识与所述离线数据包的相对存储地址之间的映射关系,确定所述地址对应的离线数据包的相对存储地址;
根据所述物理存储地址和所述相对存储地址,确定所述离线数据包在所述缓存中的绝对存储地址,调用load Cached Data For URL函数,从所述绝对存储地址对应的文件中得到响应数据。
S34:根据本地存储的地址与离线数据包的包标识之间的映射关系,确定与所述地址对应的离线数据包的包标识。
具体地,通过单例对象访问H5PackageMap.json,取其H5CacheList数据,执行正则匹配可获取与所述地址对应的离线数据包的包标识。
需要说明的是,本申请实施例中定义了H5CacheList,H5CacheList能够实现地址与离线数据包的包标识之间的映射关系。例如:"/trip/holiday/.+"(地址):"h5-holiday"(包标识),即假设页面加载请求中携带的地址为:http://h5.m.taobao.com/trip/holiday/search/search.html;对应的相对地址为trip/holiday/search/search.html,通过正则匹配映射到h5-holiday(包标识)离线数据包。
可选地,在确定与所述地址对应的离线数据包的包标识之后,所述方法还包括:
获取所述离线数据包的包标识对应的离线数据包在本地磁盘中的物理存储地址;
在确定所述物理存储地址对应的离线数据包不存在时,根据存储的离线数据包的包标识与下载地址之间的映射关系,确定与所述地址对应的离线数据包的包标识对应的下载地址;
根据所述下载地址,向服务器发送数据包下载请求,所述数据包下载请求中包含所述包标识。
在本申请实施例中,由于终端设备在从服务器获取离线数据时,可能存在网络中断等情况,使得终端设备获取到的离线数据并不完整,即存在创建了离线数据包的包标识但是离线数据包不存在的情况,或者存在离线数据包但是离线数据包中没有离线数据,此时都可能导致can Init With Request函数的返回值为No,进而需要向服务器发起数据获取请求。
此时,在本申请实施例中通过访问总控文件H5PackageMap.json的H5PackageList内容,得到离线数据包的包标识与下载地址之间的映射关系,进而根据包名可获取该离线数据包的服务器地址(即下载地址),进而开启一个子线程向服务器发送数据包下载请求。
S35:根据所述离线数据包的包标识,确定离线数据包。
所述离线数据包中包含HTML文件、静态资源文件和配置信息,所述配置信息中包含离线数据包的包标识与所述离线数据包的相对存储地址之间的映射关系。
具体地,根据所述离线数据包的包标识,确定所述离线数据包的包标识对应的离线数据包在本地磁盘中的物理存储地址,从所述物理存储地址中获取离线数据包。
需要说明的是,Web Kit内核加载资源的流程是先加载HTML文件,然后在解析HTML建立DOM树的过程中依次从上到下加载其中的JS/CSS文件,所以对于一个H5页面来说,首先加载的是HTML资源,后续才是JS/CSS请求。利用这个特点,本申请实施例在实现根据HTML请求解析出离线数据包的包标识(可以为包名)后,后续的JS/CSS请求从前面HTML解析出的离线数据包获取数据,因此,需要记录已获取离线数据包的包标识及配置内容。
S36:将所述离线数据包存储至缓存中。
步骤205:利用所述响应数据执行页面渲染操作以完成页面加载。
在本申请实施例中,使用UI Web View实现浏览器加载页面的功能。基于NS URLConnection实现UI Web View的网络资源加载功能。
具体地,调用NS URL Protocol Client的如下函数:
1、-(void)URL Protocol:did Receive Response:cache Storage Policy函数,目的在于通知浏览器(或者UI Web View)NS HTTP URL Response响应数据头;
2、-(void)URL Protocol:did Load Data函数,目的在于返回给浏览器(或者UIWeb View)响应的数据内容NS Data(即HTML文件和静态资源文件);
3、-(void)URL Protocol Did Finish Loading函数,目的在于通知浏览器(或者UI Web View)加载,执行页面渲染操作以完成页面加载。
在WebKit内核中,网页在加载显示的时候会启动一个解析器(Parser)去解析HTML,然后生成渲染树(Render Tree),最终渲染出页面。
对于UI Web View来说,按照从上到下顺序解析HTML,如果在head标签里面资源请求,必须等获得该HTTP请求的响应值之后,解析器才会去处理后面的内容,这样将阻塞页面的渲染。
本申请为了解决阻塞页面渲染的问题,提出了在解析HTML文件时,调用异步线程以解析静态资源文件;并同步加载HTML文件和静态资源文件。
例如:首先,判断是否存在阻塞页面渲染的请求,若存在阻塞页面请求,can InitWith Request函数返回YES,并利用自定义的NS URL Protocol进行拦截;其次,在startLoading函数中构建HTTP响应的response,状态码是200,这样此类请求不需要访问远程服务器,当HTML加载器收到Hybrid App的response后,直接做后续DOM节点的加载操作,而返回response所需时间是毫秒级别。同时开启一个后台子线程发起埋点请求(用于数据统计,阻塞页面加载),这样将阻塞HTML页面渲染的同步请求转化为非阻塞异步请求,既不影响业务逻辑,又加速了页面渲染。
步骤206:在查找到所述地址对应的离线数据包且确定所述离线数据包中未包含所述待加载页面所需要的静态资源文件时,根据所述地址生成资源获取请求,所述资源获取请求用于请求所述地址对应的待加载页面所需要的静态资源文件。
例如:页面加载请求中携带的地址为:https://h5.m.taobao.com/trip/visa/search/index.html,该H5页面引用如下CSS资源:https://g.alicdn.com/?trip/h5-visa/pages/common/main_combo-min.css,其已在服务器上部署。
当.html请求在离线数据包中命中,此时将按离线包资源请求路径:https://h5.m.taobao.com/trip/visa/common/main_combo-min.css发起CSS请求;
当CSS没有在离线数据包中命中时,如果按照离线包资源请求域名下面发布资源,如资源https://h5.m.taobao.com/trip/visa/common/main_combo-min.css。这种方案除了发布固有的服务器资源外,还需要按离线包资源请求路径部署资源。
在这种情况下,本申请实施例将离线包资源请求路径进行转化,转换为服务器资源路径,即将https://h5.m.taobao.com/trip/visa/common/main_combo-min.css(离线数据包资源请求路径)转换为https://g.alicdn.com/?trip/h5-visa/pages/common/main_combo-min.css(服务器资源路径),因这个请求在服务器上已经部署,可以实现正确加载,这样资源只需要部署一份,减少了服务器资源的浪费。
具体地,通过重写NS URL Protocol的canonical Request For Request函数实现修改request请求。当.html请求命中离线数据包,变量html Hit标示为YES(html Hit默认为NO),在canonical Request For Request中将JS/CSS的离线数据包资源请求路径转换为服务器资源路径。
步骤207:将所述资源获取请求发送给服务器。
在本申请实施例中,所述方法还包括:更新所述离线数据包。
具体地,接收所述服务器发送的增量数据包,所述增量数据包中包含HTML页面的地址;
利用所述增量数据包,对所述离线数据包中HTML页面的地址对应的数据包进行更新。
图4为本申请实施例提供的一种离线数据包更新方法的流程示意图。
本申请实施例提供的离线数据包更新方法采用增量更新的方式,以实现二进制文件的增量更新,减少了更新数据包的体积。
当新的离线数据包生成时,在服务器端新数据包和旧数据包以二进制文件做差量,得到差量数据包(又可以称之为增量数据包),然后将差量数据包下发到客户端。此时客户端根据接收到的差量数据包对已有的离线数据包进行更新操作。需要说明的是,更新的是内容发生改变的差量包,而不是所有整个离线包。
具体地,S41:访问远程服务器,从CDN中获取增量数据包。如果访问失败,则终止更新离线数据包流程。
S42:内容长度校验。
具体地,在获取到增量数据包时,确定所述增量数据包中包含的数据的长度以及该增量数据包对应的HTML页面的地址,并将该长度与该地址对应的HTTP响应数据中的Content-length进行比较,做内容长度的校验,防止网络纂改。若校验失败,则终止更新操作。
S43:创建一个同名的空文件。
在创建时需要加锁,以保证该操作不影响其他文件。即在需要更新的离线文件中创建空文件。
当更新操作结束后删除该空文件,若更新操作被终止,空文件将不会被删除,借此来判定离线包更新失败。由于创建空文件的操作所需时间短,是毫秒级别,操作被终止的概率很低,以解决如何判定更新是否被终止的问题。
S44:生成patch路径。
即为从服务器中获取的增量数据包,生成patch路径。
S45:判断patch路径是否有文件,若有文件,说明是上一次更新操作不彻底遗留下来的,直接删除。
S46:将增量数据包中包含的数据data写入patch路径。
S47:判断合并路径中是否存在文件,如果有文件则直接删除该文件。合并路径是用来保存合并后的文件,如果有文件说明上次更新不彻底,应该删除。
S48:合并路径上的文件和旧文件合并为合并文件。该操作要加锁,保证是原子操作,要么成功,要么失败。
S49:对合并文件进行MD5校验,从任务信息中获取MD5值,判断合并文件data的MD5值是否与其相等,若不相等,说明合并后的文件不是我们要的文件,直接删除,更新失败。
S410:合并文件更名为目标文件。首先删除目标文件,然后再更名,该操作要加锁,保证是原子操作。
S411:删除同名的空文件。
空文件消失证明更新操作结束。
通过本申请实施例提供的技术方案,接收页面加载请求,所述页面加载请求中包含待加载页面的地址;在本地查找到所述地址对应的离线数据包且确定所述离线数据包中包含所述待加载页面所需要的静态资源文件时,基于所述离线数据包构建响应数据,所述响应数据中包含用于响应所述待加载页面的超文本标记语言HTML文件和静态资源文件;利用所述响应数据执行页面渲染操作以完成页面加载。针对发起的HTML页面加载请求,构建响应数据,可以从本地的离线数据包中获取响应该HTML页面加载请求的页面数据,使在HTML页面解析渲染时获取相应参数值,进而实现页面数据的本地加载,有效避免了现有技术中页面加载过程中出错的问题,有效提升页面加载效率。
实施例3
图5为本申请实施例提供的一种页面加载方法的流程示意图。所述方法可以如下所示。
步骤501:接收页面加载请求,所述页面加载请求中包含待加载页面的地址。
步骤502:从本地磁盘中查找是否存在所述地址对应的离线数据包,若存在,则执行步骤503;否则,将所述页面加载请求发送至服务器。
步骤503:进一步判断查找到的所述离线数据包中是否包含待加载页面所需要的静态资源文件,若确定所述离线数据包中包含待加载页面所需要的静态资源文件,那么执行步骤504;否则,执行步骤510。
步骤504:进一步判断该离线数据包是否已被写入缓存中,若是,则执行步骤505;否则,执行步骤506。
步骤505:在根据所述地址确定缓存中存在所述地址对应的离线数据包时,调用数据获取函数,从所述缓存中得到响应数据,执行步骤409。
步骤506:根据本地存储的地址与离线数据包的包标识之间的映射关系,确定与所述地址对应的离线数据包的包标识。
步骤507:根据所述离线数据包的包标识,确定离线数据包。
所述离线数据包中包含HTML文件、静态资源文件和配置信息,所述配置信息中包含离线数据包的包标识与所述离线数据包的相对存储地址之间的映射关系。
步骤508:将所述离线数据包存储至缓存中,并跳转执行步骤405。
步骤509:利用所述响应数据执行页面渲染操作以完成页面加载。
步骤510:根据所述地址生成资源获取请求,所述资源获取请求用于请求所述地址对应的待加载页面所需要的静态资源文件。
步骤511:将所述资源获取请求发送给服务器。
图6为本申请实施例提供的一种页面加载方法的场景示意图。
从图6中可以看出,本申请实施例提供的页面加载方法实现了从本地离线数据包中加载需要的页面资源,同时由于在首次执行I/O操作时将需要的页面资源写入缓存,使得后续操作可以直接从缓存中获取数据,减少了I/O操作的次数,加快了页面加载的速度,缩短了页面加载的响应时间,提升了用户对页面加载的用户体验。
通过本申请实施例提供的技术方案,针对发起的HTML页面加载请求,构建响应数据,可以从本地的离线数据包中获取响应该HTML页面加载请求的页面数据,使在HTML页面解析渲染时获取相应参数值,进而实现页面数据的本地加载,有效避免了现有技术中页面加载过程中出错的问题,有效提升页面加载效率。
实施例4
图7为本申请实施例提供的一种页面加载设备的结构示意图。所述页面加载设备包括:接收单元71、处理单元72和加载单元73,其中:
接收单元71,接收页面加载请求;
处理单元72,确定所述页面加载请求中包含的待加载页面所记载业务的业务类型;并从离线数据包集中查找与所述业务类型对应的离线数据包,所述离线数据包集中包含至少一个离线数据包,业务类型相同的业务所对应的页面的页面资源在同一个离线数据包中;从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源;
加载单元73,利用所述页面资源执行页面渲染操作以完成页面加载。
在本申请的另一个实施例中,所述处理单元72从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
确定所述待加载页面的逻辑地址;
根据页面的逻辑地址与页面资源的物理存储地址之间的映射关系,确定与所述待加载页面的逻辑地址对应的页面资源的物理存储地址;
根据所述物理存储地址,从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源。
在本申请的另一个实施例中,所述处理单元72从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
判断缓存中是否存储加载所述待加载页面所需要的页面资源;
若判断结果是缓存中尚未存储加载所述待加载页面所需要的页面资源,则从查找到的所述离线数据包中获取所述页面资源。
在本申请的另一个实施例中,所述处理单元72,若判断结果是缓存中已存储加载所述待加载页面所需要的页面资源,则调用数据获取函数,从所述缓存中调取所述页面资源。
在本申请的另一个实施例中,所述处理单元72通过以下方式得到业务类型与离线数据包之间的映射关系:
接收服务器发送的多个页面资源,所述页面资源用于在离线状态下响应页面加载请求;
确定不同的所述页面资源对应的页面所记载业务的业务类型;
根据所述业务类型,将接收到的多个页面资源进行分组,得到不同组的离线数据包,所述离线数据包中包含业务类型相同的业务所对应的页面的页面资源;
建立业务类型与包含所述业务类型所对应的页面的页面资源的离线数据包之间的映射关系。
在本申请的另一个实施例中,所述页面加载设备还包括:存储单元74,其中:
所述存储单元74,在得到所述业务类型对应的离线数据包时,确定所述离线数据包的物理存储空间;
根据所述物理存储空间,为所述离线数据包中不同页面的页面资源分配物理存储地址;
按照所述物理存储地址存储所述页面资源,并建立所述页面资源对应页面的逻辑地址与所述物理存储地址之间的映射关系。
在本申请的另一个实施例中,所述处理单元72从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
判断查找到的所述离线数据包中是否包含待加载页面所需要的超文本标记语言HTML文件和静态资源文件;
若包含HTML文件和静态资源文件,则从查找到的所述离线数据包中获取加载所述待加载页面所需要的HTML文件和静态资源文件;
若包含HTML文件但不包含静态资源文件,则查找到的所述离线数据包中获取加载所述待加载页面所需要的HTML文件,并向服务器发送静态资源获取请求,以从所述服务器中获取所述待加载页面所需要的静态资源文件。
在本申请的另一个实施例中,所述加载单元73利用所述页面资源执行页面渲染操作以完成页面加载,包括:
解析所述页面资源中的超文本标记语言HTML文件,并调用异步线程以解析所述页面资源中的静态资源文件;
在解析得到HTML代码和静态资源时,同步加载所述HTML代码和所述静态资源。
在本申请的另一个实施例中,所述页面加载设备还包括:更新单元75,其中:
所述更新单元75,更新所述离线数据包。
在本申请的另一个实施例中,所述更新单元75更新所述离线数据包,包括:
接收所述服务器发送的增量数据包,所述增量数据包中包含HTML页面的页面类型;
利用所述增量数据包,对所述页面类型对应的离线数据包进行更新。
在本申请的另一个实施例中,所述处理单元72确定所述页面加载请求中包含的待加载页面所记载业务的业务类型,包括:
解析所述页面记载请求;
确定所述待加载页面所记载业务的业务类型以及所述待加载页面的逻辑地址。
在本申请的另一个实施例中,所述业务类型包含机票类型、酒店类型、火车票类型、公共汽车票类型、旅行类型、景点门票类型中的至少一种或者多种。
需要说明的是,本申请实施例中所记载的页面加载设备可以通过硬件方式实现,也可以通过软件方式实现,这里不做具体限定。本申请实施例中所记载的页面加载设备针对发起的HTML页面加载请求,准确定位待加载页面的业务类型,进而快速根据业务类型确定包含待加载页面的离线数据包,并获取离线数据包中的页面资源,进而实现本地加载页面资源,有效提升了现有技术中页面加载时间过长的问题,不仅有效提升页面加载效率,而且还改善了页面加载的准确性。
通过本申请实施例中所记载的页面加载方法及装置,能够达到以下有益效果:
第一、本申请实施例所提供的方案具有很强的鲁棒性。针对一个HTML请求,首先判断HTML文件是否在离线包,如果HTML在本地,接下来该页面加载所需的JS/CSS文件也同样先判断是否在离线包,在离线包则JS/CSS从本地加载,否则把JS/CSS资源请求URL修改为有对应服务器资源的URL,然后再发起网络服务器请求,因此,当HTML文件在离线包,但其包含的JS、CSS不在本地时,也不会出现网页错误的情况,同时不需要重复部署资源,减少了硬件资源的浪费。
第二、本申请实施例提供的技术方案实现了按业务线模块访问离线包。将具有相同业务逻辑的HTML页面划分在同一个离线包,如度假、门票、机票等离线包,当加载HTML页面时,相同业务逻辑的请求从同一个离线包加载。这样做每次更新的是一个模块的离线包而不是所有app的离线包,更新包体积会变小,更新的成本会降低,灵活性会提高。
第三、本申请实施例所记载的技术方案具有较高的实用性。因构建离线包的复杂度很低,跟纯web页面相比只是增加了H5CacheList和abc.json两个文件。H5CacheList只需要实现HTML类型的请求和离线包的映射关系,abc.json只需实现URL和其物理相对路径映射关系,这极大地降低了离线包的生成成本。
第四、二进制文件的增量更新,减少了更新包体积。当有新的离线包生成时,在服务器端新包和旧包以二进制文件做diff,然后将差量包下发到客户端,客户端更新的只是内容发生改变的差量包,而不是所有整个离线包。
第五、完整性校验。本申请实施例所记载的方案对以下四个地方做了完整性校验:1、离线包以zip包形式加载和保存,防止被用户或其他程序恶意修改;2、访问离线包前,通过同名的空文件判断更新操作是否顺利完成、更新前创建一个同名的空文件,更新后删除,当离线包加载时发现有同名文件存在,说明该更新失败。因空文件的创建和删除时间极短,是毫秒级别,这种操作不会被中止,利用此特性很好地实现了对更新操作是否顺利完成的判断;3、下载更新包后,比较HTTP响应值中Content-length与下载包内容长度,防止网络纂改;4、增量包和本地包二进制合并后,对新包做内容MD5值校验,确保正确性。
第六、优化了所有阻塞页面渲染的请求,减少了HTML页面的加载时间。
第七、利用缓存最大限度地减少了磁盘I/O次数,提升了加载页面的速度。
第八、完全支持HTML请求任意传参。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (20)
1.一种页面加载方法,其特征在于,包括:
接收页面加载请求,并确定所述页面加载请求中包含的待加载页面所记载业务的业务类型;
从离线数据包集中查找与所述业务类型对应的离线数据包,所述离线数据包集中包含至少一个离线数据包,业务类型相同的业务所对应的页面的页面资源在同一个离线数据包中;
从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,并利用所述页面资源执行页面渲染操作以完成页面加载。
2.根据权利要求1所述的页面加载方法,其特征在于,从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
确定所述待加载页面的逻辑地址;
根据页面的逻辑地址与页面资源的物理存储地址之间的映射关系,确定与所述待加载页面的逻辑地址对应的页面资源的物理存储地址;
根据所述物理存储地址,从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源。
3.根据权利要求1所述的页面加载方法,其特征在于,从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
判断缓存中是否存储加载所述待加载页面所需要的页面资源;
若判断结果是缓存中尚未存储加载所述待加载页面所需要的页面资源,则从查找到的所述离线数据包中获取所述页面资源。
4.根据权利要求3所述的页面加载方法,其特征在于,所述方法还包括:
若判断结果是缓存中已存储加载所述待加载页面所需要的页面资源,则调用数据获取函数,从所述缓存中调取所述页面资源。
5.根据权利要求1所述的页面加载方法,其特征在于,通过以下方式得到业务类型与离线数据包之间的映射关系:
接收服务器发送的多个页面资源,所述页面资源用于在离线状态下响应页面加载请求;
确定不同的所述页面资源对应的页面所记载业务的业务类型;
根据所述业务类型,将接收到的多个页面资源进行分组,得到不同组的离线数据包,所述离线数据包中包含业务类型相同的业务所对应的页面的页面资源;
建立业务类型与包含所述业务类型所对应的页面的页面资源的离线数据包之间的映射关系。
6.根据权利要求5所述的页面加载方法,其特征在于,在得到所述业务类型对应的离线数据包时,所述方法还包括:
确定所述离线数据包的物理存储空间;
根据所述物理存储空间,为所述离线数据包中不同页面的页面资源分配物理存储地址;
按照所述物理存储地址存储所述页面资源,并建立所述页面资源对应页面的逻辑地址与所述物理存储地址之间的映射关系。
7.根据权利要求1所述页面加载方法,其特征在于,从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
判断查找到的所述离线数据包中是否包含待加载页面所需要的超文本标记语言HTML文件和静态资源文件;
若包含HTML文件和静态资源文件,则从查找到的所述离线数据包中获取加载所述待加载页面所需要的HTML文件和静态资源文件;
若包含HTML文件但不包含静态资源文件,则查找到的所述离线数据包中获取加载所述待加载页面所需要的HTML文件,并向服务器发送静态资源获取请求,以从所述服务器中获取所述待加载页面所需要的静态资源文件。
8.根据权利要求1或7所述的页面加载方法,其特征在于,利用所述页面资源执行页面渲染操作以完成页面加载,包括:
解析所述页面资源中的超文本标记语言HTML文件,并调用异步线程以解析所述页面资源中的静态资源文件;
在解析得到HTML代码和静态资源时,同步加载所述HTML代码和所述静态资源。
9.根据权利要求1至7任一项所述的页面加载方法,其特征在于,所述方法还包括:
接收所述服务器发送的增量数据包,所述增量数据包中包含HTML页面的页面类型;
利用所述增量数据包,对所述页面类型对应的离线数据包进行更新。
10.根据权利要求1所述的页面加载方法,其特征在于,确定所述页面加载请求中包含的待加载页面所记载业务的业务类型,包括:
解析所述页面记载请求;
确定所述待加载页面所记载业务的业务类型以及所述待加载页面的逻辑地址。
11.根据权利要求1或10所述的页面加载方法,其特征在于,所述业务类型包含机票类型、酒店类型、火车票类型、公共汽车票类型、旅行类型、景点门票类型中的至少一种或者多种。
12.一种页面加载设备,其特征在于,包括:
接收单元,接收页面加载请求;
处理单元,确定所述页面加载请求中包含的待加载页面所记载业务的业务类型;并从离线数据包集中查找与所述业务类型对应的离线数据包,所述离线数据包集中包含至少一个离线数据包,业务类型相同的业务所对应的页面的页面资源在同一个离线数据包中;从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源;
加载单元,利用所述页面资源执行页面渲染操作以完成页面加载。
13.根据权利要求12所述的页面加载设备,其特征在于,所述处理单元从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
确定所述待加载页面的逻辑地址;
根据页面的逻辑地址与页面资源的物理存储地址之间的映射关系,确定与所述待加载页面的逻辑地址对应的页面资源的物理存储地址;
根据所述物理存储地址,从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源。
14.根据权利要求13所述的页面加载设备,其特征在于,所述处理单元从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
判断缓存中是否存储加载所述待加载页面所需要的页面资源;
若判断结果是缓存中尚未存储加载所述待加载页面所需要的页面资源,则从查找到的所述离线数据包中获取所述页面资源。
15.根据权利要求14所述的页面加载设备,其特征在于,
所述处理单元,若判断结果是缓存中已存储加载所述待加载页面所需要的页面资源,则调用数据获取函数,从所述缓存中调取所述页面资源。
16.根据权利要求12所述的页面加载设备,其特征在于,所述处理单元通过以下方式得到业务类型与离线数据包之间的映射关系:
接收服务器发送的多个页面资源,所述页面资源用于在离线状态下响应页面加载请求;
确定不同的所述页面资源对应的页面所记载业务的业务类型;
根据所述业务类型,将接收到的多个页面资源进行分组,得到不同组的离线数据包,所述离线数据包中包含业务类型相同的业务所对应的页面的页面资源;
建立业务类型与包含所述业务类型所对应的页面的页面资源的离线数据包之间的映射关系。
17.根据权利要求16所述的页面加载设备,其特征在于,所述页面加载设备还包括:存储单元,其中:
所述存储单元,在得到所述业务类型对应的离线数据包时,确定所述离线数据包的物理存储空间;
根据所述物理存储空间,为所述离线数据包中不同页面的页面资源分配物理存储地址;
按照所述物理存储地址存储所述页面资源,并建立所述页面资源对应页面的逻辑地址与所述物理存储地址之间的映射关系。
18.根据权利要求12所述页面加载设备,其特征在于,所述处理单元从查找到的所述离线数据包中获取加载所述待加载页面所需要的页面资源,包括:
判断查找到的所述离线数据包中是否包含待加载页面所需要的超文本标记语言HTML文件和静态资源文件;
若包含HTML文件和静态资源文件,则从查找到的所述离线数据包中获取加载所述待加载页面所需要的HTML文件和静态资源文件;
若包含HTML文件但不包含静态资源文件,则查找到的所述离线数据包中获取加载所述待加载页面所需要的HTML文件,并向服务器发送静态资源获取请求,以从所述服务器中获取所述待加载页面所需要的静态资源文件。
19.根据权利要求12或18所述的页面加载设备,其特征在于,所述加载单元利用所述页面资源执行页面渲染操作以完成页面加载,包括:
解析所述页面资源中的超文本标记语言HTML文件,并调用异步线程以解析所述页面资源中的静态资源文件;
在解析得到HTML代码和静态资源时,同步加载所述HTML代码和所述静态资源。
20.根据权利要求12至18任一项所述的页面加载设备,其特征在于,所述页面加载设备还包括:更新单元,其中:
所述更新单元,接收所述服务器发送的增量数据包,所述增量数据包中包含HTML页面的页面类型;
利用所述增量数据包,对所述页面类型对应的离线数据包进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710013672.XA CN108287839B (zh) | 2017-01-09 | 2017-01-09 | 一种页面加载方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710013672.XA CN108287839B (zh) | 2017-01-09 | 2017-01-09 | 一种页面加载方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108287839A true CN108287839A (zh) | 2018-07-17 |
CN108287839B CN108287839B (zh) | 2022-01-28 |
Family
ID=62819361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710013672.XA Active CN108287839B (zh) | 2017-01-09 | 2017-01-09 | 一种页面加载方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108287839B (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213512A (zh) * | 2018-08-15 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 离线包加载方法、系统、终端及可读存储介质 |
CN109543437A (zh) * | 2018-11-30 | 2019-03-29 | 人教数字出版有限公司 | 一种加载资源方法和装置 |
CN109656535A (zh) * | 2018-12-24 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 基于浏览器的语音技能离线开发方法 |
CN109800369A (zh) * | 2018-12-14 | 2019-05-24 | 平安普惠企业管理有限公司 | Hybrid app页面加载方法、装置和计算机设备 |
CN110166530A (zh) * | 2019-04-17 | 2019-08-23 | 平安普惠企业管理有限公司 | 基于微服务返回值的处理方法、电子装置及计算机设备 |
CN110489695A (zh) * | 2019-07-30 | 2019-11-22 | 广东分利宝金服科技有限公司 | 模块驱动视图数据的方法及装置 |
CN110647706A (zh) * | 2019-08-29 | 2020-01-03 | 北京金堤科技有限公司 | 网页访问请求的处理方法、装置以及设备、存储介质 |
CN110647700A (zh) * | 2019-08-13 | 2020-01-03 | 平安普惠企业管理有限公司 | 页面资源的加载方法、装置、计算机设备和存储介质 |
CN110765392A (zh) * | 2019-09-16 | 2020-02-07 | 浙江口碑网络技术有限公司 | 数据的加载方法及装置、存储介质、终端 |
CN111273964A (zh) * | 2020-02-14 | 2020-06-12 | 北京字节跳动网络技术有限公司 | 一种数据加载方法及装置 |
CN111506837A (zh) * | 2020-03-09 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 搜索方法、装置、电子设备及可读存储介质 |
CN111581556A (zh) * | 2020-04-27 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 页面数据处理方法、装置、电子设备和可读介质 |
CN111797357A (zh) * | 2020-07-12 | 2020-10-20 | 泰安协同软件有限公司 | 一种Html下基于依赖注入及路径映射的前端整合方法 |
CN111949342A (zh) * | 2019-05-16 | 2020-11-17 | 新奥数能科技有限公司 | 页面生成方法及装置 |
CN111984886A (zh) * | 2019-05-21 | 2020-11-24 | 深圳艾派网络科技股份有限公司 | 一种快速访问互联网内容的方法及系统 |
CN112035198A (zh) * | 2020-08-12 | 2020-12-04 | 深圳创维-Rgb电子有限公司 | 主页加载方法、电视和存储介质 |
CN112347337A (zh) * | 2020-11-17 | 2021-02-09 | 平安数字信息科技(深圳)有限公司 | 离线应用的数据检索方法、装置、计算机设备及存储介质 |
CN112612977A (zh) * | 2020-12-15 | 2021-04-06 | 京东数字科技控股股份有限公司 | 一种页面显示方法、系统、装置、设备及存储介质 |
CN112632425A (zh) * | 2020-12-10 | 2021-04-09 | 京东数字科技控股股份有限公司 | 一种离线资源文件的生成方法、装置、设备及存储介质 |
CN112948011A (zh) * | 2019-11-26 | 2021-06-11 | 上海哔哩哔哩科技有限公司 | 一种二级页面加载的方法及装置 |
CN113515328A (zh) * | 2020-04-09 | 2021-10-19 | 北京沃东天骏信息技术有限公司 | 页面渲染的方法、装置、电子设备和存储介质 |
CN113873013A (zh) * | 2018-12-25 | 2021-12-31 | 创新先进技术有限公司 | 一种离线包重组方法及系统 |
CN114385228A (zh) * | 2022-03-24 | 2022-04-22 | 南京中冠智能科技有限公司 | 一种可视化产品的实施方法、装置、服务器和存储介质 |
CN114995861A (zh) * | 2022-08-02 | 2022-09-02 | 中航信移动科技有限公司 | 一种基于weex的应用程序更新方法、存储介质及电子设备 |
CN115079923A (zh) * | 2022-06-17 | 2022-09-20 | 北京新唐思创教育科技有限公司 | 事件处理方法、装置、设备及介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327584B1 (en) * | 1999-07-30 | 2001-12-04 | Hewlett-Packard Company | Apparatus and method for using version control to dynamically update files while the files are available for access |
US20030061247A1 (en) * | 2001-09-21 | 2003-03-27 | Benjamin Renaud | Method and apparatus for smart directories for application deployment |
CN101420324A (zh) * | 2008-10-10 | 2009-04-29 | 中兴通讯股份有限公司 | 一种网管系统及其代理软件的版本更新方法 |
CN101529415A (zh) * | 2006-10-30 | 2009-09-09 | 微软公司 | 基于web的应用程序的离线执行 |
CN102479250A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院声学研究所 | 一种嵌入式浏览器磁盘缓存方法 |
CN103428343A (zh) * | 2012-05-17 | 2013-12-04 | 上海闻泰电子科技有限公司 | 功能手机中处理动态数据的方法 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN104137104A (zh) * | 2012-02-24 | 2014-11-05 | 高通股份有限公司 | 基于共享元信息的网页的协作式加载 |
CN104516889A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 网页加载的方法、系统及浏览器和代理服务器 |
CN104539696A (zh) * | 2014-12-26 | 2015-04-22 | 北京像素软件科技股份有限公司 | 一种客户端增量更新的方法及系统 |
CN104765622A (zh) * | 2014-01-03 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 页面资源的加载方法及装置 |
CN105208127A (zh) * | 2015-10-09 | 2015-12-30 | 上海瀚银信息技术有限公司 | 一种网页缓存处理方法及系统以及智能终端 |
CN105824909A (zh) * | 2016-03-15 | 2016-08-03 | 腾讯科技(深圳)有限公司 | 页面生成方法和装置 |
CN105989083A (zh) * | 2015-02-11 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 切换访问环境的方法及装置 |
CN106209925A (zh) * | 2015-04-29 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 页面加载方法、客户端及系统 |
-
2017
- 2017-01-09 CN CN201710013672.XA patent/CN108287839B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327584B1 (en) * | 1999-07-30 | 2001-12-04 | Hewlett-Packard Company | Apparatus and method for using version control to dynamically update files while the files are available for access |
US20030061247A1 (en) * | 2001-09-21 | 2003-03-27 | Benjamin Renaud | Method and apparatus for smart directories for application deployment |
CN101529415A (zh) * | 2006-10-30 | 2009-09-09 | 微软公司 | 基于web的应用程序的离线执行 |
CN101420324A (zh) * | 2008-10-10 | 2009-04-29 | 中兴通讯股份有限公司 | 一种网管系统及其代理软件的版本更新方法 |
CN102479250A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院声学研究所 | 一种嵌入式浏览器磁盘缓存方法 |
CN104137104A (zh) * | 2012-02-24 | 2014-11-05 | 高通股份有限公司 | 基于共享元信息的网页的协作式加载 |
CN103428343A (zh) * | 2012-05-17 | 2013-12-04 | 上海闻泰电子科技有限公司 | 功能手机中处理动态数据的方法 |
CN104516889A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 网页加载的方法、系统及浏览器和代理服务器 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN104765622A (zh) * | 2014-01-03 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 页面资源的加载方法及装置 |
CN104539696A (zh) * | 2014-12-26 | 2015-04-22 | 北京像素软件科技股份有限公司 | 一种客户端增量更新的方法及系统 |
CN105989083A (zh) * | 2015-02-11 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 切换访问环境的方法及装置 |
CN106209925A (zh) * | 2015-04-29 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 页面加载方法、客户端及系统 |
CN105208127A (zh) * | 2015-10-09 | 2015-12-30 | 上海瀚银信息技术有限公司 | 一种网页缓存处理方法及系统以及智能终端 |
CN105824909A (zh) * | 2016-03-15 | 2016-08-03 | 腾讯科技(深圳)有限公司 | 页面生成方法和装置 |
Non-Patent Citations (1)
Title |
---|
孟飞: "嵌入式浏览器缓存的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213512A (zh) * | 2018-08-15 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 离线包加载方法、系统、终端及可读存储介质 |
CN109543437A (zh) * | 2018-11-30 | 2019-03-29 | 人教数字出版有限公司 | 一种加载资源方法和装置 |
CN109800369A (zh) * | 2018-12-14 | 2019-05-24 | 平安普惠企业管理有限公司 | Hybrid app页面加载方法、装置和计算机设备 |
CN109656535B (zh) * | 2018-12-24 | 2022-02-08 | 思必驰科技股份有限公司 | 基于浏览器的语音技能离线开发方法 |
CN109656535A (zh) * | 2018-12-24 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 基于浏览器的语音技能离线开发方法 |
CN113873013B (zh) * | 2018-12-25 | 2023-06-16 | 创新先进技术有限公司 | 一种离线包重组方法及系统 |
CN113873013A (zh) * | 2018-12-25 | 2021-12-31 | 创新先进技术有限公司 | 一种离线包重组方法及系统 |
CN110166530A (zh) * | 2019-04-17 | 2019-08-23 | 平安普惠企业管理有限公司 | 基于微服务返回值的处理方法、电子装置及计算机设备 |
CN110166530B (zh) * | 2019-04-17 | 2023-02-03 | 平安普惠企业管理有限公司 | 基于微服务返回值的处理方法、电子装置及计算机设备 |
CN111949342B (zh) * | 2019-05-16 | 2024-03-05 | 新奥数能科技有限公司 | 页面生成方法及装置 |
CN111949342A (zh) * | 2019-05-16 | 2020-11-17 | 新奥数能科技有限公司 | 页面生成方法及装置 |
CN111984886A (zh) * | 2019-05-21 | 2020-11-24 | 深圳艾派网络科技股份有限公司 | 一种快速访问互联网内容的方法及系统 |
CN110489695A (zh) * | 2019-07-30 | 2019-11-22 | 广东分利宝金服科技有限公司 | 模块驱动视图数据的方法及装置 |
CN110647700A (zh) * | 2019-08-13 | 2020-01-03 | 平安普惠企业管理有限公司 | 页面资源的加载方法、装置、计算机设备和存储介质 |
CN110647706A (zh) * | 2019-08-29 | 2020-01-03 | 北京金堤科技有限公司 | 网页访问请求的处理方法、装置以及设备、存储介质 |
CN110765392A (zh) * | 2019-09-16 | 2020-02-07 | 浙江口碑网络技术有限公司 | 数据的加载方法及装置、存储介质、终端 |
CN112948011A (zh) * | 2019-11-26 | 2021-06-11 | 上海哔哩哔哩科技有限公司 | 一种二级页面加载的方法及装置 |
CN112948011B (zh) * | 2019-11-26 | 2023-08-08 | 上海哔哩哔哩科技有限公司 | 一种二级页面加载的方法及装置 |
CN111273964B (zh) * | 2020-02-14 | 2024-03-08 | 抖音视界有限公司 | 一种数据加载方法及装置 |
CN111273964A (zh) * | 2020-02-14 | 2020-06-12 | 北京字节跳动网络技术有限公司 | 一种数据加载方法及装置 |
CN111506837A (zh) * | 2020-03-09 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 搜索方法、装置、电子设备及可读存储介质 |
CN113515328A (zh) * | 2020-04-09 | 2021-10-19 | 北京沃东天骏信息技术有限公司 | 页面渲染的方法、装置、电子设备和存储介质 |
CN111581556A (zh) * | 2020-04-27 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 页面数据处理方法、装置、电子设备和可读介质 |
CN111581556B (zh) * | 2020-04-27 | 2023-04-25 | 抖音视界有限公司 | 页面数据处理方法、装置、电子设备和可读介质 |
CN111797357A (zh) * | 2020-07-12 | 2020-10-20 | 泰安协同软件有限公司 | 一种Html下基于依赖注入及路径映射的前端整合方法 |
CN111797357B (zh) * | 2020-07-12 | 2023-12-19 | 泰安协同软件有限公司 | 一种Html下基于依赖注入及路径映射的前端整合方法 |
CN112035198A (zh) * | 2020-08-12 | 2020-12-04 | 深圳创维-Rgb电子有限公司 | 主页加载方法、电视和存储介质 |
CN112347337A (zh) * | 2020-11-17 | 2021-02-09 | 平安数字信息科技(深圳)有限公司 | 离线应用的数据检索方法、装置、计算机设备及存储介质 |
CN112632425B (zh) * | 2020-12-10 | 2024-02-06 | 京东科技控股股份有限公司 | 一种离线资源文件的生成方法、装置、设备及存储介质 |
CN112632425A (zh) * | 2020-12-10 | 2021-04-09 | 京东数字科技控股股份有限公司 | 一种离线资源文件的生成方法、装置、设备及存储介质 |
CN112612977A (zh) * | 2020-12-15 | 2021-04-06 | 京东数字科技控股股份有限公司 | 一种页面显示方法、系统、装置、设备及存储介质 |
CN114385228A (zh) * | 2022-03-24 | 2022-04-22 | 南京中冠智能科技有限公司 | 一种可视化产品的实施方法、装置、服务器和存储介质 |
CN115079923A (zh) * | 2022-06-17 | 2022-09-20 | 北京新唐思创教育科技有限公司 | 事件处理方法、装置、设备及介质 |
CN115079923B (zh) * | 2022-06-17 | 2023-11-07 | 北京新唐思创教育科技有限公司 | 事件处理方法、装置、设备及介质 |
CN114995861A (zh) * | 2022-08-02 | 2022-09-02 | 中航信移动科技有限公司 | 一种基于weex的应用程序更新方法、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108287839B (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287839A (zh) | 一种页面加载方法和设备 | |
CN106528432B (zh) | 测试场景数据的构建方法及装置、埋点测试方法 | |
CN103731427B (zh) | 一种会话处理的方法、设备和系统 | |
US8516037B2 (en) | Methods for dynamic partitioning of applications in client-server environments | |
CN110032599B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
CN106549907B (zh) | 一种web app访问方法、装置和系统 | |
CN107203555A (zh) | 页面加载处理方法及装置 | |
CN106372130B (zh) | 一种静态资源管理方法 | |
CN106294379A (zh) | 一种页面的加载方法、装置和系统 | |
CN110020278A (zh) | 页面数据的展示、提供方法、客户端及服务器 | |
CN108334562A (zh) | 一种页面显示方法和装置 | |
CN109388766A (zh) | 页面加载的方法和装置 | |
CN110347942A (zh) | 页面跳转方法、装置、存储介质及计算机设备 | |
Kapitsaki et al. | Model-driven development of composite context-aware web applications | |
CN109165369A (zh) | 网页显示方法和装置 | |
CN107301137A (zh) | Rset接口实现方法和装置及电子设备和计算机可读存储介质 | |
CN110213105A (zh) | 一种跨平台微应用创建方法 | |
US20070288591A1 (en) | Method, system, and program product for caching application data in a browser cache | |
US20220156240A1 (en) | Hierarchical script database and database applications | |
CN108021564A (zh) | 一种页面重定向的方法和设备 | |
CN107483591A (zh) | 一种脚本文件同步方法及装置 | |
CN110209964A (zh) | 一种页面显示方法、装置及设备 | |
CN107408055A (zh) | 代码缓存系统 | |
CN109474563A (zh) | 文件流的处理、提供方法、客户端及服务器 | |
CN109101564A (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 |