H5页面的预加载及跳转方法、装置、设备及介质
技术领域
本发明涉及H5页面领域,尤其涉及一种H5页面的预加载及跳转方法、装置、设备及介质。
背景技术
随着移动互联网的发展,移动App产品已经成为移动互联网产品最大的流量渠道,目前,移动App产品通常会采用H5承载业务服务,Native承载基础组件服务(如加载H5页面并提供页面路由等)的方式进行开发,然而基于H5页面的技术特性,由于网络信号弱或H5渲染数据容量大等因素存在,在加载H5页面过程中,可能会出现一直显示空白页面直至加载完H5页面数据并渲染H5页面后才显示H5页面的情况,并且,在显示空白页面过程中,不能进行任何操作,也不知道加载的进度,因此会导致加载时间长;且H5页面加载受限于网络信号弱的状态影响,会造成H5页面加载时效性差,且导致用户体验度低。
发明内容
本发明提供一种H5页面的预加载及跳转方法、装置、计算机设备及存储介质,实现了通过多线程异步方式,自动预加载第二H5页面至缓存池,以及实时更新显示预加载进度,通过缓存池加载、渲染并显示第二H5页面,能够缩短了H5页面加载时间,提高了H5页面加载的时效性,提升了用户体验满意度。
一种H5页面的预加载及跳转方法,包括:
接收到页面加载请求,获取所述页面加载请求中的第一H5页面数据;
根据所述第一H5页面数据对第一H5页面进行加载及渲染;
在第一H5页面渲染完毕并显示之后,通过Native接口接收已显示的所述第一H5页面自动触发的第二H5页面预加载信息,将所述第二H5页面预加载信息封装为接口请求信息;所述接口请求信息包括多个配置参数请求信息;
通过多线程异步方式,发出各所述配置参数请求信息,并在接收到的与所述配置参数请求信息对应的配置参数加载信息之后,将所述配置参数加载信息预加载至基于Native的缓存池,同时监控所有所述配置参数加载信息的预加载过程,并通知所述第一H5页面实时更新显示预加载进度;
在通过所述Native接口接收到来自所述第一H5页面的第二H5页面跳转请求,且检测到所有所述配置参数加载信息的预加载完毕之后,根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并显示第二H5页面。
一种H5页面的预加载及跳转装置,包括:
接收模块,用于接收到眼底管腔识别请求,获取所述眼底管腔识别请求中的待识别眼底图像;
接收模块,用于接收到页面加载请求,获取所述页面加载请求中的第一H5页面数据;
加载模块,用于根据所述第一H5页面数据对第一H5页面进行加载及渲染;
请求模块,用于在第一H5页面渲染完毕并显示之后,通过Native接口接收已显示的所述第一H5页面自动触发的第二H5页面预加载信息,将所述第二H5页面预加载信息封装为接口请求信息;所述接口请求信息包括多个配置参数请求信息;
缓存模块,用于通过多线程异步方式,发出各所述配置参数请求信息,并在接收到的与所述配置参数请求信息对应的配置参数加载信息之后,将所述配置参数加载信息预加载至基于Native的缓存池,同时监控所有所述配置参数加载信息的预加载过程,并通知所述第一H5页面实时更新显示预加载进度;
显示模块,用于在通过所述Native接口接收到来自所述第一H5页面的第二H5页面跳转请求,且检测到所有所述配置参数加载信息的预加载完毕之后,根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并显示第二H5页面。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述H5页面的预加载及跳转方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述H5页面的预加载及跳转方法的步骤。
本发明提供的H5页面的预加载及跳转方法、装置、计算机设备及存储介质,通过接收到页面加载请求,获取所述页面加载请求中的第一H5页面数据;根据所述第一H5页面数据对第一H5页面进行加载及渲染;在第一H5页面渲染完毕并显示之后,通过Native接口接收已显示的所述第一H5页面自动触发的第二H5页面预加载信息,将所述第二H5页面预加载信息封装为接口请求信息;所述接口请求信息包括多个配置参数请求信息;通过多线程异步方式,发出各所述配置参数请求信息,并在接收到的与所述配置参数请求信息对应的配置参数加载信息之后,将所述配置参数加载信息预加载至基于Native的缓存池,同时监控所有所述配置参数加载信息的预加载过程,并通知所述第一H5页面实时更新显示预加载进度;在通过所述Native接口接收到来自所述第一H5页面的第二H5页面跳转请求,且检测到所有所述配置参数加载信息的预加载完毕之后,根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并显示第二H5页面。
本发明实现了通过接收到页面加载请求,获取所述页面加载请求中的第一H5页面数据;对第一H5页面进行加载及渲染;在第一H5页面渲染完毕并显示之后,通过Native接口接收所述第一H5页面自动触发的第二H5页面预加载信息,将所述第二H5页面预加载信息封装为包含多个配置参数请求信息的接口请求信息;通过多线程异步方式,发出各所述配置参数请求信息,并在接收到配置参数加载信息之后,将所述配置参数加载信息预加载至基于Native的缓存池,同时监控所有所述配置参数加载信息的预加载过程,并通知所述第一H5页面实时更新显示预加载进度;在通过所述Native接口接收到第二H5页面跳转请求,且检测到预加载完毕之后,根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并显示第二H5页面,如此,实现了通过多线程异步方式,自动预加载第二H5页面至缓存池,以及实时更新显示预加载进度,在通过Native接口接收到第二H5页面跳转请求且预加载完毕后,通过缓存池加载、渲染并显示第二H5页面,能够缩短了H5页面加载时间,及实时体现H5页面加载进度,从而提高了H5页面加载的时效性,同时降低了网络信号对H5页面加载的影响,解决了H5页面加载对网络信号的局限性,并且提升了用户体验满意度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中H5页面的预加载及跳转方法的应用环境示意图;
图2是本发明一实施例中H5页面的预加载及跳转方法的流程图;
图3是本发明一实施例中H5页面的预加载及跳转方法的步骤S10的流程图;
图4是本发明一实施例中H5页面的预加载及跳转方法的步骤S20的流程图;
图5是本发明一实施例中H5页面的预加载及跳转方法的步骤S40的流程图;
图6是本发明一实施例中H5页面的预加载及跳转方法的步骤S50的流程图;
图7是本发明另一实施例中H5页面的预加载及跳转方法的步骤S50的流程图;
图8是另一实施例中H5页面的预加载及跳转方法的流程图;
图9是本发明一实施例中H5页面的预加载及跳转装置的原理框图;
图10是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的H5页面的预加载及跳转方法,可应用在如图1的应用环境中,其中,客户端(计算机设备)通过网络与服务器进行通信。其中,客户端(计算机设备)包括但不限于为各种个人计算机、笔记本电脑、智能手机、平板电脑、摄像头和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种H5页面的预加载及跳转方法,其技术方案主要包括以下步骤S10-S50:
S10,接收到页面加载请求,获取所述页面加载请求中的第一H5页面数据。
可理解地,启动应用程序软件(APP,Application)之后,在打开第一H5页面时,触发所述页面加载请求,所述页面加载请求包括所述第一H5页面数据,所述第一H5页面数据为加载及显示所述第一H5页面所需的且关联的数据,所述第一H5页面为通过HTML5开发的且能执行应用程序操作的页面,所述应用程序软件包括所述第一H5页面和所述第一H5页面数据,所述第一H5页面与所述第一H5页面数据关联。
在一实施例中,如图3所示,所述步骤S10之前,即所述接收到页面加载请求之前,包括:
S101,通过单例方式,构建预加载H5页面管理中心。
可理解地,所述单例方式的实现模式可以根据需求设定,比如单例方式的实现模式可以为懒汉模式、饿汉模式、懒汉变种模式、饿汉变种模式、双重检查模式、使用同步模式或者使用枚举类模式等等,作为优选,单例方式的实现模式为双重检查模式,通过所述单例方式构建预加载H5页面管理中心,所述预加载H5页面管理中心为管理所有H5页面的预加载过程的中心。
S102,通过所述预加载H5页面管理中心,创建所述缓存池,并获取应用程序服务器中的线上配置表数据。
可理解地,通过所述预加载H5页面管理中心创建一个基于Native的缓存池,同时获取应用程序服务器中的线上配置表数据,所述缓存池用于缓存所述线上配置表数据,所述线上配置表数据为存储于应用程序服务器中的在应用程序软件中的所有配置的字段及与字段关联的字段值。
S103,将获取的所述线上配置表数据存储至所述缓存池,并记录为配置表数据。
可理解地,将获取到的所述线上配置表数据存储至所述缓存池中,将其标记为所述配置表数据,所述配置表数据以供后续获取H5页面配置数据及预加载第二H5页面。
本发明实现了通过单例方式,构建预加载H5页面管理中心;通过所述预加载H5页面管理中心,创建所述缓存池,并获取应用程序服务器中的线上配置表数据;将获取的所述线上配置表数据存储至所述缓存池,如此,构建预加载H5页面管理中心,创建缓存池,并获取线上配置表数据以及存储至缓存池,以供后续从缓存池中获取所述配置表数据中的H5页面配置数据,加快了H5页面的加载速度,缩短了H5页面加载时间,减少了H5页面加载的局限性,并提升了用户体验满意度。
S20,根据所述第一H5页面数据对第一H5页面进行加载及渲染。
可理解地,所述第一H5页面数据包括配置字段,所述配置字段为配置所述第一H5页面所需的变量字段,所述加载为对所述第一H5页面数据进行解析,根据所述第一H5页面数据中所述配置字段,获取与所述配置字段匹配的H5页面配置数据,根据获取的所述H5页面配置数据构建DOM(Document Object Model,文档对象模型)树和CSSOM(CascadingStyle Sheets Object Model,层叠样式表对象模型)树的操作过程,所述渲染为将构建的DOM树和CSSOM树进行合并生成渲染树,对该渲染树进行布局及渲染至显示屏幕的操作过程。
其中,获取与所述配置字段匹配的H5页面配置数据的方式可以根据需求设定,比如获取方式可以为通过访问应用程序服务器中的线上配置表数据进行获取,也可以通过所述缓存池中获取等等。
在一实施例中,如图4所示,所述步骤S20中,即所述根据所述第一H5页面数据对第一H5页面进行加载及渲染,包括:
S201,从所述缓存池中的所述配置表数据中获取到与所述第一H5页面数据中的配置字段匹配的H5页面配置数据。
可理解地,通过快速模式匹配算法,将所述配置字段与所述配置表数据中的所述H5页面配置数据进行匹配,获取与所述配置字段匹配的所述H5页面配置数据,所述H5页面配置数据包括与配置字段相匹配的字段及与该字段关联的字段值。
其中,所述快速模式匹配算法的匹配过程为在模式字符串和主字符串匹配时,各有一个指针指向当前进行匹配的字符(主字符串中是指针i,模式字符串中是指针j),在保证i指针不回溯的前提下,就只能让j指针回溯,其中,主字符串为需匹配的字符串,即所述指令数据,模式字符串为被匹配的字符串,即所述更新指令,i为主字符串中记录匹配进度的指针,j为指针回溯的距离,相当于模式字符串向右移动的距离,即当某字符匹配失败后,j指针回溯的位置,对于一个给定的模式字符串,其中每个字符都有可能会遇到匹配失败,这时对应的j指针都需要回溯,具体回溯的位置由模式字符串本身来决定的,和主字符串没有关系,模式字符串中的每个字符所对应j指针回溯的位置,可以通过算法得出,得到的结果相应地存储在一个数组中(默认数组名为next),该算法为对于模式字符串中的某一字符来说,提取它前面的字符串,分别从字符串的两端查看连续相同的字符串的个数,在其基础上“+1”,结果就是该字符对应的j值,每个模式串的第一个字符对应的值为0,第二个字符对应的值为1,例如:求模式字符串“abcabac”的next,前两个字符对应的0和1是固定的,对于字符‘c’来说,提取字符串“ab”,‘a’和‘b’不相等,相同的字符串的个数为0,0+1=1,所以‘c’对应的next值为1;第四个字符‘a’,提取“abc”,从首先‘a’和‘c’就不相等,相同的个数为0,0+1=1,所以,‘a’对应的next值为1;第五个字符‘b’,提取“abca”,第一个‘a’和最后一个‘a’相同,相同个数为1,1+1=2,所以,‘b’对应的next值为2;第六个字符‘a’,提取“abcab”,前两个字符“ab”和最后两个“ab”相同,相同个数为2,2+1=3,所以,‘a’对应的next值为3;最后一个字符‘c’,提取“abcaba”,第一个字符‘a’和最后一个‘a’相同,相同个数为1,1+1=2,所以‘c’对应的next值为2;所以,字符串“abcabac”对应的next数组中的值为(0,1,1,1,2,3,2),所述快速模式匹配算法算法和普通模式匹配算法都是从主字符串开头开始匹配,但是在匹配过程中,所述快速模式匹配算法记录了一些必要的信息,根据该信息,在后续的匹配过程中,跳过了无意义的匹配过程,例如:主字符串为“ababcabcacbab”,模式字符串为“abcac”,模式字符串对应的next值为(0,1,1,1,2),匹配的过程为在匹配失败的时候,i指针不动,j指针根据其在next值中对应的值进行回退到指定位置,如此,可以发现快速模式匹配算法只需要匹配3次,而普通模式匹配算法需要匹配6次,因此,所述快速模式匹配算法比普通模式匹配算法速度要快。
S202,对所述第一H5页面数据和所述H5页面配置数据进行加载,得到待渲染H5页面数据。
可理解地,将所述第一H5页面数据和所述H5页面配置数据中的字节流转换成字符流,根据不同的编码进行解码,通过词法分析将字符流解析为一个个词语(Token),所述词法分析通过HTML的分词器(Tokenizer)完成,使用XSS Auditor(XSS审核员)来进行词语验证及过滤,主要是出于安全方面的考虑,在经过XSS Auditor过滤之后,由HTML的解释器调用方法构建DOM节点,根据所有所述DOM节点构建出DOM树以及CSSOM树,在所述DOM树和所述与CSSOM树构建完成后,浏览器会将两者进行结合,生成渲染树,即为所述待渲染H5页面数据,所述带渲染H5页面数据为所有与所述第一H5页面相关的可见元素及其渲染信息。
S203,对所述待渲染H5页面数据进行渲染,生成所述第一H5页面,并显示所述第一H5页面。
可理解地,根据所述待渲染H5页面数据中的样式及设备的屏幕尺寸,计算每个元素的坐标和大小,最终生成所述第一H5页面,并在显示屏幕上的应用程序界面中显示所述第一H5页面。
本发明实现了通过从所述缓存池中的所述配置表数据中获取H5页面配置数据;对所述第一H5页面数据和所述H5页面配置数据进行加载,得到待渲染H5页面数据;对其进行渲染,生成及显示所述第一H5页面,如此,通过从缓存池中的配置表数据匹配出H5页面配置数据,对其和第一H5页面数据进行加载、渲染及显示第一H5页面,从缓存池中获取数据加快了H5页面的加载速度,缩短了H5页面加载时间,减少了H5页面加载的局限性,并提升了用户体验满意度。
S30,在第一H5页面渲染完毕并显示之后,通过Native接口接收已显示的所述第一H5页面自动触发的第二H5页面预加载信息,将所述第二H5页面预加载信息封装为接口请求信息;所述接口请求信息包括多个配置参数请求信息。
可理解地,所述Native接口为基于Native的接口,所述Native接口为预加载H5页面管理中心提供与H5页面进行通信的接口,所述预加载H5页面管理中心为对加载H5页面进行管理的服务端,所述预加载H5页面管理中心设计在应用程序软件中,通过所述Native接口接收到所述第二H5页面预加载信息后,根据所述第二H5页面预加载信息中的htmlName模块,获取应用程序服务器中的与htmlName模块匹配的接口地址,并根据获取的所述接口地址封装与其对应的所述接口请求信息,以及发起所述接口请求信息,所述接口请求信息包含若干个所述配置参数请求信息。
S40,通过多线程异步方式,发出各所述配置参数请求信息,并在接收到的与所述配置参数请求信息对应的配置参数加载信息之后,将所述配置参数加载信息预加载至基于Native的缓存池,同时监控所有所述配置参数加载信息的预加载过程,并通知所述第一H5页面实时更新显示预加载进度。
可理解地,所述多线程异步方式为一个所述配置参数请求信息对应一个线程,多个线程同时发出,独立处理各所述配置参数请求信息,实现异步处理各所述配置参数请求信息,通过所述预加载H5页面管理中心实时监控所有所述配置参数加载信息的预加载过程,通过callback(回调)分别同步各所述配置参数加载信息的进度通知到所述第一H5页面。
在一实施例中,如图5所示,所述步骤S40中,即所述监控所有所述配置参数加载信息的预加载过程,并在所述第一H5页面实时刷新显示预加载进度,包括:
S401,通过均等分法,划分各所述配置参数请求信息对应的占比信息。
可理解地,所述均等分法为根据所述配置参数请求信息的个数进行百分比占比的均分方法,所述占比信息为所述配置参数请求信息所占用的百分比,例如:所有配置参数请求信息的个数为10个,通过均等分法,这将100%划分为十等分,各所述配置参数请求信息占用一等分,即占比信息为10%。
S402,监控到所述配置参数加载信息预加载至所述缓存池后,获取与所述配置参数加载信息对应的所述占比信息。
可理解地,通过所述预加载H5页面管理中心实时监控所有所述配置参数加载信息,若其中一个所述配置参数加载信息预加载至所述缓存池之后,则获取与该配置参数加载信息对应的所述占比信息。
S403,通过Native接口,将获取的所述占比信息通知至所述第一H5页面,以供所述第一H5页面根据所述占比信息实时更新显示所述预加载进度。
可理解地,通过所述Native接口,将在一个所述配置参数加载信息预加载至所述缓存池之后获取的所述占比信息反馈至所述第一H5页面,所述第一H5页面根据该占比信息实时更新所述预加载进度,并在第一H5页面显示该预加载进度条。
如此,实现了通过均等分法自动划分各配置参数请求信息对应的占比,通过Native接口实时更新显示预加载进度,增加了加载进度的精准性,提升了用户体验满意度。
S50,在通过所述Native接口接收到来自所述第一H5页面的第二H5页面跳转请求,且检测到所有所述配置参数加载信息的预加载完毕之后,根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并显示第二H5页面。
可理解地,在通过所述Native接口接收到所述第二H5页面跳转请求,且预加载完毕之后,触发所述预加载H5页面管理中心中的Native页面路由接口,获取所述缓存池中的所有所述配置参数加载信息,并跳转加载、渲染并显示所述第二H5页面,所述第二H5页面为与所述第一H5页面关联的下一H5页面。
本发明通过接收到页面加载请求,获取所述页面加载请求中的第一H5页面数据;根据所述第一H5页面数据对第一H5页面进行加载及渲染;在第一H5页面渲染完毕并显示之后,通过Native接口接收已显示的所述第一H5页面自动触发的第二H5页面预加载信息,将所述第二H5页面预加载信息封装为接口请求信息;所述接口请求信息包括多个配置参数请求信息;通过多线程异步方式,发出各所述配置参数请求信息,并在接收到的与所述配置参数请求信息对应的配置参数加载信息之后,将所述配置参数加载信息预加载至基于Native的缓存池,同时监控所有所述配置参数加载信息的预加载过程,并通知所述第一H5页面实时更新显示预加载进度;在通过所述Native接口接收到来自所述第一H5页面的第二H5页面跳转请求,且检测到所有所述配置参数加载信息的预加载完毕之后,根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并显示第二H5页面。
本发明实现了通过接收到页面加载请求,获取所述页面加载请求中的第一H5页面数据;对第一H5页面进行加载及渲染;在第一H5页面渲染完毕并显示之后,通过Native接口接收所述第一H5页面自动触发的第二H5页面预加载信息,将所述第二H5页面预加载信息封装为包含多个配置参数请求信息的接口请求信息;通过多线程异步方式,发出各所述配置参数请求信息,并在接收到配置参数加载信息之后,将所述配置参数加载信息预加载至基于Native的缓存池,同时监控所有所述配置参数加载信息的预加载过程,并通知所述第一H5页面实时更新显示预加载进度;在通过所述Native接口接收到第二H5页面跳转请求,且检测到预加载完毕之后,根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并显示第二H5页面,如此,实现了通过多线程异步方式,自动预加载第二H5页面至缓存池,以及实时更新显示预加载进度,在通过Native接口接收到第二H5页面跳转请求且预加载完毕后,通过缓存池加载、渲染并显示第二H5页面,能够缩短了H5页面加载时间,及实时体现H5页面加载进度,从而提高了H5页面加载的时效性,同时降低了网络信号对H5页面加载的影响,解决了H5页面加载对网络信号的局限性,并且提升了用户体验满意度。
在一实施例中,如图6所示,所述步骤S50中,即所述根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并显示第二H5页面,包括:
S501,获取所述缓存池中的所有所述配置参数加载信息。
可理解地,从所述缓存池中获取所有所述配置参数加载信息。
S502,指示所述第一H5页面触发并发送第二H5页面路由跳转指令。
可理解地,通过所述Native接口发出指示,令所述第一H5页面自动触发所述第二H5页面路由跳转指令,所述第二H5页面路由跳转指令为跳转至所述第二H5页面的指令,并将所述第二H5页面路由跳转指令发送至所述Natvie接口。
在一实施例中,如图7所示,所述步骤S502之后,即所述指示所述第一H5页面触发并发送第二H5页面路由跳转指令之后,还包括:
S504,在所述Native接口在预设的超时时间段内未接收到所述第一H5页面发送的所述第二H5页面路由跳转指令时,自动对所有所述配置参数加载信息进行加载、渲染并显示第二H5页面。
可理解地,若所述Native接口监控预加载第二H5页面和接口通信完毕后,第一H5页面未在预设的所述超时间段内触发所述Native页面路由接口跳转到第二H5页面,则自动直接跳转显示第二H5页面,并同时callback(回调)第一H5页面跳转结果。
本发明实现了在预设的超时时间段内未接收到第二H5页面路由跳转指令时,自动加载、渲染并显示第二H5页面,提供了降级兼容的加载H5页面的方法,打破了兼容性问题,超时后自发显示第二H5页面。
S503,在所述Native接口接收到所述第一H5页面发送的所述第二H5页面路由跳转指令之后,根据所有所述配置参数加载信息进行加载、渲染并显示第二H5页面。
可理解地,所述Native接口接收到所述第二H5页面路由跳转指令之后,根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并且显示所述第二H5页面。
本发明实现了获取所述缓存池中的所有所述配置参数加载信息;指示所述第一H5页面触发并发送第二H5页面路由跳转指令;在所述Native接口接收到所述第二H5页面路由跳转指令之后,加载、渲染并显示第二H5页面,如此,能够缩短了H5页面加载时间,提高了H5页面加载的时效性,提升了用户体验满意度。
在一实施例中,如图8所示,所述步骤S40之后,即所述监控所有所述配置参数加载信息的预加载过程,并通知所述第一H5页面实时更新显示预加载进度之后,还包括:
S60,若监控到所述配置参数加载信息的预加载失败指令,将与所述预加载失败指令对应的异常定位信息通知至所述第一H5页面。
可理解地,如果监控到所述配置参数加载信息的所述预加载失败指令,所述预加载失败指令为在预加载所述配置参数加载信息的过程中发生异常时触发的指令,所述预加载失败指令包括预加载所述配置参数加载信息的过程中发生异常的异常代码,根据所述异常代码可以查找到与所述预加载失败指令对应的异常定位信息,所述异常定位信息为与发生该异常的原因相关的信息,将该异常定位信息通知给所述第一H5页面。
S70,接收到切换加载方式指令,停止与所述异常定位信息对应的所述配置参数加载信息的预加载过程;所述切换加载方式指令为所述第一H5页面根据所述异常定位信息生成。
可理解地,所述第一H5页面接收到所述异常定位信息的通知之后,根据所述异常定位信息,所述异常定位信息表明预加载过程出现异常,已经不能进行预加载,从而自动触发所述切换加载方式指令,所述切换加载方式指令为所述第一H5页面根据所述异常定位信息生成,所述切换加载方式指令包括下一加载方式,所述下一加载方式可以根据需求设定,比如所述下一加载方式可以为从所述应用程序服务器获取所有所述配置参数加载信息,也可以为从所述应用程序服务器中获取与所述异常定位信息对应的所述配置参数加载信息等等。
本发明实现了在预加载配置参数加载信息失败时,生成异常定位信息通知至第一H5页面,第一H5页面根据所述异常定位信息切换其加载方式,不做预加载处理,能够在预加载失败的情况下,自动根据异常定位信息切换加载方式。
在一实施例中,提供一种H5页面的预加载及跳转装置,该H5页面的预加载及跳转装置与上述实施例中H5页面的预加载及跳转方法一一对应。如图9所示,该H5页面的预加载及跳转装置包括接收模块11、加载模块12、请求模块13、缓存模块14和显示模块15。各功能模块详细说明如下:
接收模块11,用于接收到页面加载请求,获取所述页面加载请求中的第一H5页面数据;
加载模块12,用于根据所述第一H5页面数据对第一H5页面进行加载及渲染;
请求模块13,用于在第一H5页面渲染完毕并显示之后,通过Native接口接收已显示的所述第一H5页面自动触发的第二H5页面预加载信息,将所述第二H5页面预加载信息封装为接口请求信息;所述接口请求信息包括多个配置参数请求信息;
缓存模块14,用于通过多线程异步方式,发出各所述配置参数请求信息,并在接收到的与所述配置参数请求信息对应的配置参数加载信息之后,将所述配置参数加载信息预加载至基于Native的缓存池,同时监控所有所述配置参数加载信息的预加载过程,并通知所述第一H5页面实时更新显示预加载进度;
显示模块15,用于在通过所述Native接口接收到来自所述第一H5页面的第二H5页面跳转请求,且检测到所有所述配置参数加载信息的预加载完毕之后,根据所述缓存池中的所有所述配置参数加载信息进行加载、渲染并显示第二H5页面。
关于H5页面的预加载及跳转装置的具体限定可以参见上文中对于H5页面的预加载及跳转方法的限定,在此不再赘述。上述H5页面的预加载及跳转装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种H5页面的预加载及跳转方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中H5页面的预加载及跳转方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中H5页面的预加载及跳转方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。