加载网页的方法及装置与流程

文档序号:12470206阅读:252来源:国知局
加载网页的方法及装置与流程

本发明涉及信息处理技术领域,具体地,涉及一种加载网页的方法及装置。



背景技术:

随着智能终端的普及,安装于智能终端上的应用程序(英文:Application;简称:App)在人们的工作和生活起到的作用越来越大。为了兼顾App的性能和灵活性,很多App都会采用原生视图和网页视图相结合的方式,网页视图可以由原生视图跳转,也可以网页视图之间互相跳转。网页视图由Web View负责加载执行。

目前,从一个页面跳转到另一个通过Web View加载的网页的过程为:首先在新页面创建Web View,然后加载需要的相关文件,接着通过网络请求数据,最后将请求到的数据渲染到页面并显示出来。每次显示一个通过Web View加载的网页都需要执行上述过程,因此,需要用户等待较长时间。



技术实现要素:

本发明的目的是提供一种加载网页的方法及装置,采用该方法可以提高加载网页的速度,缩短用户等待网页加载的时间。

为了实现上述目的,本发明第一方面提供一种加载网页的方法,所述方法包括:

在检测到所述应用程序处于运行状态时,在初始页面上创建全局Web View,所述全局Web View适用于任一通过Web View加载的网页;

利用所述全局Web View,加载目标网页。

可选地,所述方法还包括:

在检测到所述应用程序由所述运行状态切换为退出状态时,销毁所述全局Web View。

可选地,所述利用所述全局Web View,加载目标网页,包括:

根据页面跳转流向,确定所述目标网页;

利用所述全局Web View,加载所述目标网页对应的基础文件;

向服务器发送请求消息,所述请求消息用于请求所述目标网页对应的网页数据;

将请求到的网页数据渲染到所述初始页面上。

可选地,在所述将请求到的网页数据渲染到所述初始页面上之后,所述方法还包括:

在检测到用户执行的用于关闭所述目标网页的操作时,将空白网页数据渲染到所述初始页面上;

将所述基础文件存储到缓存中。

可选地,在所述向服务器发送请求消息,所述请求消息用于请求所述目标网页对应的网页数据之前,所述方法还包括:

获得对所述网页数据进行自动获取的权限。

本发明第二方面提供一种加载网页的装置,所述装置包括:

创建模块,用于在检测到所述应用程序处于运行状态时,在初始页面上创建全局Web View,所述全局Web View适用于任一通过Web View加载的网页;

加载模块,用于利用所述全局Web View,加载目标网页。

可选地,所述装置还包括:

销毁模块,用于在检测到所述应用程序由所述运行状态切换为退出状态时,销毁所述全局Web View。

可选地,所述加载模块包括:

确定子模块,用于根据页面跳转流向,确定所述目标网页;

加载子模块,用于利用所述全局Web View,加载所述目标网页对应的基础文件;

发送子模块,用于向服务器发送请求消息,所述请求消息用于请求所述目标网页对应的网页数据;

渲染子模块,用于将请求到的网页数据渲染到所述初始页面上。

可选地,所述装置还包括:

渲染模块,用于在所述将请求到的网页数据渲染到所述初始页面上之后,在检测到用户执行的用于关闭所述目标网页的操作时,将空白网页数据渲染到所述初始页面上;

存储模块,用于将所述基础文件存储到缓存中。

可选地,所述装置还包括:

获得模块,用于在所述向服务器发送请求消息,所述请求消息用于请求所述目标网页对应的网页数据之前,获得对所述网页数据进行自动获取的权限。

通过上述技术方案,在初始页面上创建全局Web View,以为后续通过Web View加载目标网页做准备,全局Web View可以在下次加载通过Web View加载的网页的过程中被重复利用,避免了反复创建和销毁Web View,提高了网页加载的速度。

本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:

图1是根据一示例性实施例示出的一种加载网页的方法的流程图。

图2是根据一示例性实施例示出的一种加载网页的方法的另一流程图。

图3是根据一示例性实施例示出的一种加载网页的方法中步骤S12的流程图。

图4为根据一示例性实施例示出的一种页面跳转流向的示意图。

图5为根据一示例性实施例示出的一种加载网页的装置的框图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

首先对本发明提供的一种加载网页的方法进行说明。该方法应用于移动终端中。请参考图1,图1是根据一示例性实施例示出的一种加载网页的方法的流程图。如图1所示,该方法包括以下步骤:

步骤S11:在检测到所述应用程序处于运行状态时,在初始页面上创建全局Web View,所述全局Web View适用于任一通过Web View加载的网页。

步骤S12:利用所述全局Web View,加载目标网页。

步骤S11中的应用程序即为背景技术中的App。在App处于运行状态时,可以在初始页面上创建全局Web View,以为后续需要显示通过Web View加载的网页做准备。其中,初始页面是在需要显示通过Web View加载的网页之前所显示的页面,例如:App被切换为运行状态后第一个对用户可见的页面。

首先,在初始页面上创建全局Web View,全局Webview是Android(一种运行于智能手机的操作系统)提供的一个显示网页的控件,是Java类,可以使用构建方法新建。然后,根据用户操作,如果需要显示通过Web View加载的网页,即可利用全局Web View加载该需要显示的网页。在利用全局Web View加载该需要显示的网页(为描述方便,称为网页A)之后,如果根据用户操作,还需要显示另一通过Web View加载的网页(为描述方便,称为网页B),即可继续利用全局Web View加载网页B,无需在需要显示网页B时,重新创建Web View。

通过上述技术方案,在初始页面上创建全局Web View,以为后续通过Web View加载目标网页做准备,全局Web View可以在下次加载通过Web View加载的网页的过程中被重复利用,避免了反复创建和销毁Web View,提高了网页加载的速度。

可选地,请参考图2,图2是根据一示例性实施例示出的一种加载网页的方法的另一流程图。如图2所示,该方法除包括上述步骤S11至步骤S12外,还包括以下步骤:

步骤S13:在检测到所述应用程序由所述运行状态切换为退出状态时,销毁所述全局Web View。

相关技术中,Android提供Activity、Fragment等容纳页面视图的组件,在需要显示通过Web View加载的网页时,创建Web View,所创建的Web View的生命周期随Activity、Fragment的销毁而销毁。可见,相关技术中的Web View的生命周期较短。本发明实施例中,全局Web View的生命周期是自App处于运行状态起至App处于退出状态为止。也就是说,全局Web View的生命周期是自被创建的时刻至App退出使用的时刻。在App保持运行状态期间,全局Web View仅需创建一次,但可以被复用多次。任一通过Web View加载的网页都可以使用全局Web View进行加载。

采用上述技术方案,无需每次在需要显示通过Web View加载的网页时都创建Web View,可以利用全局Web View加载网页,因此,缩短了用户的等待时间,提高了用户体验。

可选地,请参考图3,图3是根据一示例性实施例示出的一种加载网页的方法中步骤S12的流程图。如图3所示,步骤S12包括以下步骤:

步骤S121:根据页面跳转流向,确定所述目标网页;

步骤S122:利用所述全局Web View,加载所述目标网页对应的基础文件;

步骤S123:向服务器发送请求消息,所述请求消息用于请求所述目标网页对应的网页数据;

步骤S124:将请求到的网页数据渲染到所述初始页面上。

页面跳转流向即为页面走向,是通过统计不同页面之间的跳转得出的。一种可能的页面跳转流程为:A→B→C→D。另一种可能的页面跳转流程为:和A→B→F。其中A是初始页面,D和F是通过Web View加载的网页。

首先需要通过对页面跳转流向中的各个页面进行分析,确定页面跳转流向的各个页面中是否包括通过Web View加载的网页。其中,Web View是一种加载网页的控件。

页面跳转流向中包括的页面多种多样,有些页面需要通过Web View加载,有些页面无需通过Web View加载。举例来讲,在检测到用于启动安装在移动终端上的一个App的操作后,电子设备显示该App的启动页面,然后显示列表页面,接着检测到针对该列表页面的操作后,显示单项页面,最后检测到针对该单项页面的操作后,显示详情页面,其中,详情页面是通过Web View加载的。

在确定目标网页(即通过网页视图Web View加载的网页)之后,确定需要加载目标网页所使用的基础文件。可选地,还可以确定需要加载目标网页所使用的框架文件,框架文件是指开发时用的开发框架的文件。框架文件是很多文件作为整体的一个集合。框架文件可以是html文件、js文件、css文件。

然后向服务请求目标网页对应的网页数据。向服务器请求网页数据是在Java层面完成,然后由Java层调用js文件把请求到的网页数据渲染到初始页面上,再通过js文件把网页数据和html文件、css文件组合成目标网页。

采用上述技术方案,提前完成对基础文件的加载以及请求网页数据,因此,提高了网页加载速度,缩短了用户等待网页加载的时间,提高了用户体验。由于使用App中Java层,所以可以利用重试机制、缓存机制、并发控制以及SPDY和Http/2支持,进而更稳定、更快速地获取到网页数据。

此外,由于不同的页面跳转流向中包括的通过Web View加载的网页不同,所以可以根据页面跳转流向的变化,加载不同网页对应的基础文件。例如:在页面跳转流向为:A→B→C→D,且D为通过Web View加载的网页时,可以加载D对应的基础文件。在页面跳转流向改变为:A→B→F,且F为通过Web View加载的网页时,可以加载F对应的基础文件。这样,根据页面跳转流向的动态变化,可以加载不同网页对应的基础文件,适用范围广泛。

可选地,在所述将请求到的网页数据渲染到所述初始页面上之后,所述方法还包括:

在检测到用户执行的用于关闭所述目标网页的操作时,将空白网页数据渲染到所述初始页面上;

将所述基础文件存储到缓存中。

在检测到用户点击目标网页上的关闭按钮以关闭目标网页时,或者用户点击回退按钮,以回到上一页面时,可以将空白网页数据渲染到初始页面上,并将基础文件存储到缓存中,以便于下次加载目标网页时,从缓存中直接获取基础文件,方便快捷,减少了用户等待目标网页加载的时间,提高了用户体验。

考虑到用户可能重复访问同一网页,所以在加载目标网页之后,除可以将目标网页对应的基础文件存储到缓存中外,还可以将目标网页对应的网页数据存储到缓存中,这样,在下次访问目标网页时,可以从缓存中获取将目标网页对应的基础文件以及目标网页对应的网页数据,实现重复利用,避免了反复加载目标网页对应的框架文件以及反复获取目标网页对应的网页数据,提高了网页加载的速度。

可选地,在所述向服务器发送请求消息,所述请求消息用于请求所述目标网页对应的网页数据之前,所述方法还包括:

获得对所述网页数据进行自动获取的权限。

可选地,在所述通过第三后台进程获取所述第二网页对应的网页数据之前,所述方法还包括:

获得对所述网页数据进行自动获取的权限。

考虑到获得目标网页对应的网页数据需要消耗流量,为避免给用户造成不必要的经济损失,可以获取目标网页对应的网页数据之前,向用户发送提示信息,提示用户对访问网络的权限进行设置,如果用户设置为允许自动获取网页数据,则表明获得对目标网页对应的网页数据进行自动获取的权限,可以获取目标网页对应的网页数据。如果用户设置为禁止自动获取网页数据,则流程终止,并提示用户:无法获取网页数据。

下面对本发明提供的加载网页的方法的实施过程进行说明。请参考图4,图4为根据一示例性实施例示出的一种页面跳转流向的示意图。如图4所示,页面跳转流向是:启动页面→列表页面→单项页面→详情页面。其中,详情页面是通过Web View加载的网页。其中,启动页面、列表页面和单项页面在本质上都属于初始页面。针对图4所示的页面跳转流向,本发明提供的加载网页的方法的实施过程包括:

1)在加载启动页面的过程中,创建Web View;

2)在加载列表页面的过程中,加载详情页面对应的框架文件;

3)在加载单项页面的过程中,请求详情页面对应的网页数据;

4)将请求到的网页数据渲染到页面,并显示详情页面;

5)在显示详情页面之后,将详情页面对应的框架文件和详情页面对应的网页数据缓存起来。

基于同一发明构思,本发明实施例还提供一种加载网页的装置。请参考图5,图5为根据一示例性实施例示出的一种加载网页的装置的框图。如图5所示,该装置100包括:

创建模块110,用于在检测到所述应用程序处于运行状态时,在初始页面上创建全局Web View,所述全局Web View适用于任一通过Web View加载的网页;

加载模块120,用于利用所述全局Web View,加载目标网页。

可选地,所述装置还包括:

销毁模块,用于在检测到所述应用程序由所述运行状态切换为退出状态时,销毁所述全局Web View。

可选地,所述加载模块包括:

确定子模块,用于根据页面跳转流向,确定所述目标网页;

加载子模块,用于利用所述全局Web View,加载所述目标网页对应的基础文件;

发送子模块,用于向服务器发送请求消息,所述请求消息用于请求所述目标网页对应的网页数据;

渲染子模块,用于将请求到的网页数据渲染到所述初始页面上。

可选地,所述装置还包括:

渲染模块,用于在所述将请求到的网页数据渲染到所述初始页面上之后,在检测到用户执行的用于关闭所述目标网页的操作时,将空白网页数据渲染到所述初始页面上;

存储模块,用于将所述基础文件存储到缓存中。

可选地,所述装置还包括:

获得模块,用于在所述向服务器发送请求消息,所述请求消息用于请求所述目标网页对应的网页数据之前,获得对所述网页数据进行自动获取的权限。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。

此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1