一种网页加载方法、装置、电子设备及存储介质与流程

文档序号:18196867发布日期:2019-07-17 05:54阅读:189来源:国知局
一种网页加载方法、装置、电子设备及存储介质与流程

本发明涉及互联网技术领域,尤其涉及一种网页加载方法、装置、电子设备及存储介质。



背景技术:

在androidapp(安卓应用程序)中显示网页,需要使用webview(网络视图)等视图组件。然而,目前webview渲染网页需要的时间较长,让用户觉得页面加载速度慢、有卡顿,严重降低了用户体验。



技术实现要素:

有鉴于此,本发明实施例提供一种网页加载方法、装置、电子设备及存储介质,能够有效提高网页加载速度。

第一方面,本发明实施例提供一种网页加载方法,包括:当接收到打开第一目标网页的指令时,确定本地是否存在相应的网页加载模板,其中,所述网页加载模板由存储在本地的网页资源生成;在存在所述网页加载模板的情况下,获取所述第一目标网页的网页内容,并将所述网页内容填入所述网页加载模板,得到所述第一目标网页。

结合第一方面,在第一方面的第一种实施方式中,所述网页加载方法还包括:在不存在所述网页加载模板的情况下,加载存储在本地的网页资源以生成所述网页加载模板;将获取的网页内容填入生成的所述网页加载模板得到所述第一目标网页。

结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述网页资源包括网页模板和层叠样式表;所述加载存储在本地的网页资源以生成所述网页加载模板包括:初始化一个网页实例;为所述网页实例加载所述网页模板;对所述网页模板引用所述层叠样式表以生成所述网页加载模板。

结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述网页资源还包括js脚本和/或占位图;所述为所述网页实例加载所述网页模板之后,所述方法还包括:对所述网页模板引用所述js脚本和/或所述占位图。

结合第一方面的第一种至第三种中任一种实施方式,在第一方面的第四种实施方式中,在生成所述网页加载模板之后,所述方法还包括:当接收到打开第二目标网页的指令时,利用生成的所述网页加载模板得到所述第二目标网页,其中,所述第二目标网页与所述第一目标网页相同或不同。

结合第一方面,在第一方面的第五种实施方式中,所述网页加载模板的初始状态为暂停态;所述在存在所述网页加载模板的情况下,获取所述第一目标网页的网页内容,并将所述网页内容填入所述网页加载模板,得到所述第一目标网页包括:将所述网页加载模板由所述暂停态切换为活动态;从本地或服务器获取所述第一目标网页的网页内容,所述网页内容携带超文本标记语言html标签;根据所述超文本标记语言html标签将所述网页内容填入所述网页加载模板得到所述第一目标网页。

第二方面,本发明的实施例还提供一种网页加载装置,包括:确定单元,用于当接收到打开第一目标网页的指令时,确定本地是否存在相应的网页加载模板,其中,所述网页加载模板由存储在本地的网页资源生成;填入单元,用于在存在所述网页加载模板的情况下,获取所述第一目标网页的网页内容,并将所述网页内容填入所述网页加载模板,得到所述第一目标网页。

结合第二方面,在第二方面的第一种实施方式中,所述网页加载装置还包括:生成单元,用于在不存在所述网页加载模板的情况下,加载存储在本地的网页资源以生成所述网页加载模板;所述填入单元,具体用于将获取的网页内容填入生成的所述网页加载模板得到所述第一目标网页。

结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述网页资源包括网页模板和层叠样式表;所述生成单元包括:初始化模块,用于初始化一个网页实例;加载模块,用于为所述初始化模块初始化的网页实例加载所述网页模板;引用模块,用于对所述网页模板引用所述层叠样式表以生成所述网页加载模板。

结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述网页资源还包括js脚本和/或占位图;所述引用模块,还用于在为所述网页实例加载所述网页模板之后,对所述网页模板引用所述js脚本和/或所述占位图。

结合第二方面的第一种至第三种中任一种实施方式,在第二方面的第四种实施方式中,所述填入单元,还用于在生成所述网页加载模板之后,当接收到打开第二目标网页的指令时,利用生成的所述网页加载模板得到所述第二目标网页,其中,所述第二目标网页与所述第一目标网页相同或不同。

结合第二方面,在第二方面的第五种实施方式中,所述网页加载模板的初始状态为暂停态;所述填入单元,包括:切换模块,用于将所述网页加载模板由所述暂停态切换为活动态;获取模块,用于从本地或服务器获取所述第一目标网页的网页内容,所述网页内容携带超文本标记语言html标签;填入模块,用于根据所述超文本标记语言html标签将所述网页内容填入所述网页加载模板得到所述第一目标网页。

第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的实施例提供的任一种网页加载方法。

第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明实施例提供的任一种网页加载方法。

本发明的实施例提供的网页加载方法、装置、电子设备、存储介质,当接收到打开第一目标网页的指令时,首先确定本地是否存在相应的网页加载模板,在存在所述网页加载模板的情况下,能够将获取的网页内容填充到网页加载模板中进行网页加载。由于该网页加载模板由预存在本地的网页资源形成,减少了来自网络的数据量,因此有效减小了网页的加载延迟,大大提升了用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明的实施例提供的网页加载方法的一种流程图;

图2为本发明的实施例提供的网页加载方法的另一种流程图;

图3为本发明的实施例提供的网页加载装置的一种结构示意图;

图4为本发明的实施例提供的网页加载装置的另一种结构示意图;

图5为本发明的实施例提供的电子设备的一种结构示意图。

具体实施方式

下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

第一方面,本发明实施例提供一种网页加载方法,当需要打开目标网页时,能够将获取的网页内容填充到网页加载模板中,由于该网页加载模板由预存在本地的网页资源形成,仅需获取目标网页的网页内容即可,因此能有效减小网页的加载延迟,大大提升用户体验。

图1为本发明的实施例提供的网页加载方法的一种流程图,如图1所示,本实施例的网页加载方法可以包括:

s11,当接收到打开第一目标网页的指令时,确定本地是否存在相应的网页加载模板,其中,所述网页加载模板由存储在本地的网页资源生成;

具体的,第一目标网页可以是用户在某一个androidapp界面点击一个按钮后对应显示的网页。由于同属于一个app(application,应用程序),用户在该app中点击开的网页都有相同或相似的布局、格式、图样等特征,可以基于这些相同或相似的特征形成统一的网页加载模板。网页加载模板对应的网页资源则预先存储在本地。

虽然网页资源存储在本地,但为了系统资源的有效利用,与这些网页资源对应的网页加载模板并不是一直都存在的。因此,当接收到打开第一目标网页的指令时,首先需要确定本地是否存在相应的网页加载模板。由于网页加载模板通常是加载在内存中的,确定本地是否存在相应的网页加载模板实际上也就是确定内存中是否存在网页加载模板。

网页加载模板在何种情况下可能存在,在何种情况下可能不存在,可以视系统资源(如cpu资源、内存资源等)情况而定,例如,如果系统资源比较充足,则可以从打开该app开始到关闭该app为止一直维护该网页加载模板的存在,如果系统资源较为紧张,则可以在打开app时暂不生成和维护网页加载模板,直到用户在该app中第一次点击任一个网页链接时,才生成网页加载模板,并对该网页加载模板进行维护。可选的,如果在一段时间内都没有任何用户操作,则可以将该网页加载模板释放,从而释放其占用的系统资源。

s12,在存在所述网页加载模板的情况下,获取所述第一目标网页的网页内容,并将所述网页内容填入所述网页加载模板,得到所述第一目标网页。

即,如果确定本地存在第一目标网页对应的网页加载模板,则可以获取第一目标网页的网页内容(包括网页内的文字或图片等信息)填充到该网页加载模板中,从而将第一目标网页显示出来。

本发明的实施例提供的网页加载方法,当接收到打开第一目标网页的指令时,首先确定本地是否存在相应的网页加载模板,在存在所述网页加载模板的情况下,能够将获取的网页内容填充到网页加载模板中进行网页加载。由于该网页加载模板由预存在本地的网页资源形成,减少了来自网络的数据量,因此有效减小了网页的加载延迟,大大提升了用户体验。

进一步的,本发明的实施例还可包括:在不存在所述网页加载模板的情况下,加载存储在本地的网页资源以生成所述网页加载模板;将获取的网页内容填入生成的所述网页加载模板得到所述第一目标网页。

也就是说,如果步骤s11中确定本地不存在该网页加载模板,则首先需要利用预存在本地的网页资源新生成一个网页加载模板,然后利用新生成的网页加载模板加载第一目标网页的内容。

网页资源可以包括形成网页所需要的各种元素。可选的,在本发明的一个实施例中,网页资源可以包括网页模板和层叠样式表;其中,网页模板例如可以包括网页的结构布局,宽、高尺寸,边框样式,菜单种类等;层叠样式表是一种定义样式结构如字体、颜色、位置等的语言,用于描述网页上的信息格式化和现实的方式。

基于这些网页资源,加载存储在本地的网页资源以生成所述网页加载模板可包括:初始化一个网页实例;为所述网页实例加载所述网页模板;对所述网页模板引用所述层叠样式表以生成所述网页加载模板。这样,就将存储在本地的多种网页资源有机结合,生成了一个可以被加载到内存中的网页加载模板。对于不同的网页内容,该网页加载模板具有相同或相似的结构,在进行不同的网页切换时,可以保留该网页加载模板,每次只需更换相应的网页内容即可,从而有效提升了网页加载速度。

需要说明的是,在进行网页实例的初始化时,一个网页实例可以与一个网页窗口相对应,因此,如果使用同一个窗口先后打开和浏览不同的网页,则可以通过同一个网页实例实现。如果使用不同的窗口同时打开和浏览多个不同的网页,则每个窗口需要一个对应的网页实例。

进一步的,除了网页模板和层叠样式表外,在本发明的另一个实施例中,网页资源还可以包括js脚本和/或占位图。其中,js脚本即javascript,是一种属于网络的脚本语言,用于web应用开发中为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果;占位图是与待加载的图片具有相同大小的预占位图片,在网页加载过程中可以标识出此处有图片但正在加载中的这一个状态,让用户具有更好的体验。通过使用占位图不仅能够让图片加载完成后渲染出来不改变文档的整体布局,性能优化,还能够获得更快的整体文档加载速度。

基于这些资源,在本发明的一个实施例中,在为网页实例加载网页模板之后,还可以对所述网页模板引用所述js脚本和/或所述占位图,从而将用于增加网页动态效果的js脚本以及优化网页加载性能的占位图也纳入网页加载模板中,以便在获得具体的网页内容之前就将相应的网页模板加载到内存中,从而进一步提升了网页加载性能。

本发明实施例提供的网页加载方法,由于网页加载模板在一定范围内(同如一个app中或同一类型页面之间)具有通用性,因此生成网页加载模板之后,即使以此为模板的目标网页随后被关闭或者返回,该网页加载模板仍然可以保留在内存中,以供后续使用。

具体的,在根据打开第一目标网页的指令生成网页加载模板之后,本发明实施例提供的网页加载方法还可包括:当接收到打开第二目标网页的指令时,利用生成的所述网页加载模板得到所述第二目标网页,其中,所述第二目标网页与所述第一目标网页相同或不同。

举例说明,假如在一个app的新闻页面中存在目录:国内、国际、社会、军事等标题,当用户点击“国内”时,生成了一个基于“国内”的网页加载模板,则当用户从“国内”退回到新闻页面后又重新点击“国内”时,任然可以利用之前生成的网页加载模板;或者,当用户从“国内”退回到新闻页面后点击“军事”标题时,也可以利用之前基于“国内”生成的网页加载模板来填充“军事”标题下的网页内容。这样,通过统一的网页加载模板大幅提升新闻类app中新闻详情页的渲染速度,让用户可以快速打开新闻详情页浏览新闻,大幅改善用户阅读体验。

需要说明的是,为了在系统资源的优化利用和加快网页加载速度之间保持平衡,无论是新生成的网页加载模板,还是在内存中存在了一段时间的网页加载模板,其状态都需要根据具体的使用场景进行调整。例如,如果并没有接收到打开目标网页的新指令,内存中的网页加载模板只是处于待命状态,则需要将该网页加载模板的状态设置为暂停态(pause),以节约cpu资源和节省耗电;如果接收到打开某个目标网页的新指令,则可以将网页加载模板的状态设置为活动态(active或running),或者将网页加载模板的状态从暂停态切换到活动态,以便及时对指令做出响应。另外,为防止内存泄露,网页加载过程中不持有activity(活动)作为context(上下文)。

根据上述对网页加载模板状态的规定,在步骤s12中,由于接收到打开第一目标网页时该网页加载模板已经存在,则该网页加载模板的初始状态应该为暂停态;基于此,在存在所述网页加载模板的情况下,获取所述第一目标网页的网页内容,并将所述网页内容填入所述网页加载模板,得到所述第一目标网页可具体包括:将所述网页加载模板由所述暂停态切换为活动态;从本地或服务器获取所述第一目标网页的网页内容,所述网页内容携带超文本标记语言html标签;根据所述超文本标记语言html标签将所述网页内容填入所述网页加载模板得到所述第一目标网页。

下面通过具体实施例对本发明提供的网页加载方法进行详细说明。

如图2所示,本实施例中的网页加载方法可包括如下步骤:

s201、将目标app的网页资源本地化;

其中,该目标app的网页资源可包括存储在app的asset目录下的网页模板template.html,层叠样式表template.css,js脚本template.js;

s202、接收打开第一目标网页的指令;

s203、确定本地不存在网页加载模板;

s204、初始化一个webview实例webview1;

s205、为webview1加载网页模板template.html;

s206、用网页模板template.html分别引用js脚本template.js以及层叠样式表template.css,得到网页加载模板;

s207、获取第一目标网页的网页内容,如文字图片等;

s208、将获取的网页内容通过js接口填入该网页加载模板,得到第一目标网页;该网页加载模板在内存中得以保留;

s209、接收打开第二目标网页的指令;

s210、确定本地存在网页加载模板;

s211、将获取到的第二目标网页的网页内容直接填入该网页加载模板,得到第二目标网页并向用户展示。

第二方面,本发明的实施例提供一种网页加载装置,当需要打开目标网页时,能够将获取的网页内容填充到网页加载模板中,由于该网页加载模板由预存在本地的网页资源形成,因此减少了网络数据量,有效减小了网页的加载延迟,大大提升了用户体验。

如图3所示,本发明实施例提供的网页加载装置可包括:确定单元31,用于当接收到打开第一目标网页的指令时,确定本地是否存在相应的网页加载模板,其中,所述网页加载模板由存储在本地的网页资源生成;填入单元32,用于在存在所述网页加载模板的情况下,获取所述第一目标网页的网页内容,并将所述网页内容填入所述网页加载模板,得到所述第一目标网页。

本发明的实施例提供的网页加载装置,当接收到打开第一目标网页的指令时,首先确定本地是否存在相应的网页加载模板,在存在所述网页加载模板的情况下,能够将获取的网页内容填充到网页加载模板中进行网页加载。由于该网页加载模板由预存在本地的网页资源形成,减少了来自网络的数据量,因此有效减小了网页的加载延迟,大大提升了用户体验。

可选的,如图4所示,本发明提供的网页加载装置还可包括:生成单元33,用于在不存在所述网页加载模板的情况下,加载存储在本地的网页资源以生成所述网页加载模板;填入单元32,具体可用于将获取的网页内容填入生成的所述网页加载模板得到所述第一目标网页。

可选的,所述网页资源包括网页模板和层叠样式表;

生成单元33可包括:初始化模块,用于初始化一个网页实例;加载模块,用于为所述初始化模块初始化的网页实例加载所述网页模板;引用模块,用于对所述网页模板引用所述层叠样式表以生成所述网页加载模板。

可选的,所述网页资源还包括js脚本和/或占位图;引用模块,还用于在为所述网页实例加载所述网页模板之后,对所述网页模板引用所述js脚本和/或所述占位图。

可选的,填入单元32还用于在生成所述网页加载模板之后,当接收到打开第二目标网页的指令时,利用生成的所述网页加载模板得到所述第二目标网页,其中,所述第二目标网页与所述第一目标网页相同或不同。

可选的,所述网页加载模板的初始状态为暂停态;填入单元32可包括:切换模块,用于将所述网页加载模板由所述暂停态切换为活动态;获取模块,用于从本地或服务器获取所述第一目标网页的网页内容,所述网页内容携带超文本标记语言html标签;填入模块,用于根据所述超文本标记语言html标签将所述网页内容填入所述网页加载模板得到所述第一目标网页。

第三方面,本发明实施例提供一种电子设备,当需要打开目标网页时,能够将获取的网页内容填充到网页加载模板中,由于该网页加载模板由预存在本地的网页资源形成,因此减少了网络数据量,有效减小了网页的加载延迟,大大提升了用户体验。

如图5所示,本发明的实施例提供的一种电子设备,可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的网页加载方法。

处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。

该电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种网页加载方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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