页面显示方法、装置、终端和存储介质转让专利

申请号 : CN201710712967.6

文献号 : CN109032457B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邱浩新谢子琪

申请人 : 金蝶软件(中国)有限公司

摘要 :

本发明涉及一种页面显示方法、装置、终端和存储介质。页面显示方法包括:当加载列表页面时,获取列表页面中的列表数据;接收列表数据对应的触发操作,响应触发操作跳转至列表数据对应的详情页面;对列表数据进行缓存,记录被触发的列表数据所对应的显示位置;接收在详情页面的返回操作,响应返回操作读取已缓存的列表数据以及显示位置,根据显示位置和已缓存的列表数据重新加载列表页面。该方法能够在列表页面发生跳转的位置继续显示。

权利要求 :

1.一种页面显示方法,包括:

当加载列表页面时,获取所述列表页面中的列表数据;

接收列表数据对应的触发操作,响应所述触发操作跳转至所述列表数据对应的详情页面;

获取所述列表页面的页码和已加载的列表页面的总页码,根据所述列表页面的页码和所述已加载的列表页面的总页码确定需要缓存的列表数据;

对列表数据进行缓存,记录被触发的列表数据所对应的显示位置,其中,不同显示方式的列表页面,所述被触发的列表数据所对应的显示位置的获取方式也不同:若多个列表页面分页显示,则获取所述被触发的列表数据与屏幕顶部之间的距离,或者获取被触发的列表页面上第一项列表数据与屏幕上显示的第一项列表数据之间的距离,根据所述距离获取所述被触发的列表数据所对应的显示位置;

若多个列表页面连续显示,则获取所述被触发的列表数据与屏幕顶部之间的距离,或者获取根据所述屏幕上显示的第一项列表数据的高度、需要缓存的第一项列表数据的高度,以及屏幕上显示的第一项列表数据与需要缓存的第一项列表数据之间的列表数据的高度计算得到的距离,或者获取根据所述屏幕上显示的第一项列表数据与需要缓存的第一项列表数据的数据标识,以及单项列表数据的平均高度计算得到的距离,根据所述距离获取被触发的列表数据所对应的显示位置;

接收在所述详情页面的返回操作,响应所述返回操作向服务器发送数据同步请求,所述数据同步请求携带了已缓存的列表数据对应的数据标识,以使得服务器根据数据标识返回对应的列表数据;

比较服务器返回的列表数据与缓存的列表数据是否一致;若否,则根据返回的列表数据对缓存的列表数据进行更新;

响应所述返回操作读取已更新的列表数据以及显示位置,根据所述显示位置和已更新的列表数据重新加载所述列表页面。

2.根据权利要求1所述的方法,其特征在于,所述对列表数据进行缓存的步骤,包括:根据所述列表数据计算所述列表页面对应的缓存页数;

获取所述列表页面对应的页码以及已加载的列表页面的总页码;

若所述页码与已加载的总页码均未超过缓存页数,则对已加载的列表数据进行全部缓存;

若所述页码超过缓存页数,或者已加载的总页码超过缓存页数,则对已加载的列表数据进行局部缓存。

3.根据权利要求1所述的方法,其特征在于,所述记录被触发的列表数据所对应的显示位置的步骤,包括:分别获取缓存的第一项列表数据的高度,屏幕上第一项列表数据的高度,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度;

计算缓存的第一项列表数据,屏幕上第一项列表数据,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度之和;

根据所述高度之和记录所述列表页面的显示位置。

4.根据权利要求1所述的方法,其特征在于,所述记录被触发的列表数据所对应的显示位置的步骤,包括:获取屏幕上第一项列表数据对应的数据标识,以及需要缓存的第一项列表数据对应的数据标识;

根据需要缓存的第一项列表数据对应的数据标识和屏幕上第一项列表数据对应的数据标识,计算数据项数;

获取单项列表数据的平均高度;

根据所述数据项数和单项列表数据的平均高度,计算所述列表数据的滑动距离;

根据所述滑动距离记录被触发的列表数据的显示位置。

5.根据权利要求2所述的方法,其特征在于,所述缓存页数的确定方式,包括:根据HTTP响应头字段获取单页列表数据的数据大小;

根据所述单页列表数据的数据大小和预设的缓存阈值计算得到所述缓存页数,所述缓存页数为缓存列表页面数量的最大值。

6.一种页面显示装置,其特征在于,所述装置包括:

加载模块,用于当加载列表页面时,获取所述列表页面中的列表数据;

跳转模块,用于接收列表数据对应的触发操作,响应所述触发操作跳转至所述列表数据对应的详情页面;对列表数据进行缓存,记录被触发的列表数据所对应的显示位置,其中,不同显示方式的列表页面,所述被触发的列表数据所对应的显示位置的获取方式也不同:若多个列表页面分页显示,则获取所述被触发的列表数据与屏幕顶部之间的距离,或者获取被触发的列表页面上第一项列表数据与屏幕上显示的第一项列表数据之间的距离,根据所述距离获取所述被触发的列表数据所对应的显示位置;

若多个列表页面连续显示,则获取所述被触发的列表数据与屏幕顶部之间的距离,或者获取根据所述屏幕上显示的第一项列表数据的高度、需要缓存的第一项列表数据的高度,以及屏幕上显示的第一项列表数据与需要缓存的第一项列表数据之间的列表数据的高度计算得到的距离,或者获取根据所述屏幕上显示的第一项列表数据与需要缓存的第一项列表数据的数据标识,以及单项列表数据的平均高度计算得到的距离,根据所述距离获取被触发的列表数据所对应的显示位置;

返回模块,用于接收在所述详情页面的返回操作,响应所述返回操作向服务器发送数据同步请求,所述数据同步请求携带了已缓存的列表数据对应的数据标识,以使得服务器根据数据标识返回对应的列表数据;

比较服务器返回的列表数据与缓存的列表数据是否一致;若否,则根据返回的列表数据对缓存的列表数据进行更新;

响应所述返回操作读取已更新的列表数据以及显示位置,根据所述显示位置和已更新的列表数据重新加载所述列表页面。

7.根据权利要求6所述的装置,其特征在于,所述跳转模块还用于根据所述列表数据计算所述列表页面对应的缓存页数;获取所述列表页面对应的页码以及已加载的列表页面的总页码;若所述页码与已加载的总页码均未超过缓存页数,则对已加载的列表数据进行全部缓存;若所述页码超过缓存页数,或者已加载的总页码超过缓存页数,则对已加载的列表数据进行局部缓存。

8.根据权利要求6所述的装置,其特征在于,列表数据具有对应的数据标识;所述装置还包括更新模块,用于响应所述返回操作向服务器发送数据同步请求,所述数据同步请求携带了已缓存的列表数据对应的数据标识,以使得服务器根据数据标识返回对应的列表数据;比较服务器返回的列表数据与缓存的列表数据是否一致;若否,则根据返回的列表数据对缓存的列表数据进行更新。

9.一种终端,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-5中任意一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-5中任意一项所述方法的步骤。

说明书 :

页面显示方法、装置、终端和存储介质

技术领域

[0001] 本发明涉及计算机技术领域,特别是涉及页面显示方法、装置、终端和存储介质。

背景技术

[0002] 用户可以通过移动终端浏览列表页面,如商品列表页。用户可以通过上下滑动浏览列表页面上的列表数据。在浏览过程中,用户可以点击某条列表数据跳转至对应的详情页面,如商品详情页,点击返回键可以返回到列表页面。但从详情页面返回列表页面时,数据重新初始化,列表页面会重新置顶。如果用户希望返回列表页面后能够从之前发生跳转的位置继续浏览,只能重新将列表页面从首页手动滑动至对应的页面,费时费力。由此,如何在返回列表页面后能够从发生跳转的位置继续显示成为目前需要解决的一个技术问题。

发明内容

[0003] 基于此,有必要针对上述技术问题,提供一种能够在返回列表页面后能够从发生跳转的位置继续显示的页面显示方法、装置、终端和存储介质。
[0004] 一种页面显示方法,包括:
[0005] 当加载列表页面时,获取所述列表页面中的列表数据;
[0006] 接收列表数据对应的触发操作,响应所述触发操作跳转至所述列表数据对应的详情页面;
[0007] 对列表数据进行缓存,记录被触发的列表数据所对应的显示位置;
[0008] 接收在所述详情页面的返回操作,响应所述返回操作读取已缓存的列表数据以及显示位置,根据所述显示位置和已缓存的列表数据重新加载所述列表页面。
[0009] 在其中一个实施例中,所述对列表数据进行缓存的步骤,包括:
[0010] 根据所述列表数据计算所述列表页面对应的缓存页数;
[0011] 获取所述列表页面对应的页码以及已加载的列表页面的总页码;
[0012] 若所述页码与已加载的总页码均未超过缓存页数,则对已加载的列表数据进行全部缓存;
[0013] 若所述页码超过缓存页数,或者已加载的总页码超过缓存页数,则对已加载的列表数据进行局部缓存。
[0014] 在其中一个实施例中,所述记录被触发的列表数据所对应的显示位置的步骤,包括:
[0015] 分别获取缓存的第一项列表数据的高度,屏幕上第一项列表数据的高度,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度;
[0016] 计算缓存的第一项列表数据,屏幕上第一项列表数据,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度之和;
[0017] 根据所述高度之和记录所述列表页面的显示位置。
[0018] 在其中一个实施例中,所述记录被触发的列表数据所对应的显示位置的步骤,包括:
[0019] 获取屏幕上第一项列表数据对应的数据标识,以及需要缓存的第一项列表数据对应的数据标识;
[0020] 根据需要缓存的第一项列表数据对应的数据标识和屏幕上第一项列表数据对应的数据标识,计算数据项数;
[0021] 获取单项列表数据的平均高度;
[0022] 根据所述数据项数和单项列表数据的平均高度,计算所述列表数据的滑动距离;
[0023] 根据所述滑动距离记录被触发的列表数据的显示位置。
[0024] 在其中一个实施例中,列表数据具有对应的数据标识;在所述读取已缓存的列表数据以及显示位置的步骤之前,还包括:
[0025] 响应所述返回操作向服务器发送数据同步请求,所述数据同步请求携带了已缓存的列表数据对应的数据标识,以使得服务器根据数据标识返回对应的列表数据;
[0026] 比较服务器返回的列表数据与缓存的列表数据是否一致;
[0027] 若否,则根据返回的列表数据对缓存的列表数据进行更新。
[0028] 一种页面显示装置,所述装置包括:
[0029] 加载模块,用于当加载列表页面时,获取所述列表页面中的列表数据;
[0030] 跳转模块,用于接收列表数据对应的触发操作,响应所述触发操作跳转至所述列表数据对应的详情页面;对列表数据进行缓存,记录被触发的列表数据所对应的显示位置;
[0031] 返回模块,用于接收在所述详情页面的返回操作,响应所述返回操作读取已缓存的列表数据以及显示位置,根据所述显示位置和已缓存的列表数据重新加载所述列表页面。
[0032] 在其中一个实施例中,所述跳转模块还用于根据所述列表数据计算所述列表页面对应的缓存页数;获取所述列表页面对应的页码以及已加载的列表页面的总页码;若所述页码与已加载的总页码均未超过缓存页数,则对已加载的列表数据进行全部缓存;若所述页码超过缓存页数,或者已加载的总页码超过缓存页数,则对已加载的列表数据进行局部缓存。
[0033] 在其中一个实施例中,列表数据具有对应的数据标识;所述装置还包括更新模块,用于响应所述返回操作向服务器发送数据同步请求,所述数据同步请求携带了已缓存的列表数据对应的数据标识,以使得服务器根据数据标识返回对应的列表数据;比较服务器返回的列表数据与缓存的列表数据是否一致;若否,则根据返回的列表数据对缓存的列表数据进行更新。
[0034] 一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明一个实施例中提供的页面显示方法的步骤。
[0035] 一种计算机可读存储介质,其上存储有计算机程序,该指令被处理器执行时实现本发明一个实施例中提供的页面显示方法的步骤。
[0036] 上述页面显示方法、装置、终端和存储介质,当列表页面发生跳转时,对已加载的列表数据进行缓存;当返回列表页面时,可以在缓存中直接读取列表数据,减少了需要从服务器请求列表数据的时间,可以提高列表页面加载速度。当列表页面发生跳转时,对页面跳转时的显示位置进行记录,使得返回列表页面时可以根据记录的显示位置对从缓存中读取到的列表数据进行显示,从而可以保持列表页面跳转时的状态,确保列表页面返回时不会重新从服务器初始化数据,可以在列表页面发生跳转的位置继续显示。

附图说明

[0037] 图1为一个实施例中的页面显示方法应用环境图;
[0038] 图2为一个实施例中页面显示方法的流程图;
[0039] 图3为一个实施例中列表页面的界面示意图;
[0040] 图4为另一个实施例中列表页面的界面示意图;
[0041] 图5为一个实施例中页面显示装置的结构示意图;
[0042] 图6为一个实施例中终端的结构示意图。

具体实施方式

[0043] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0044] 可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
[0045] 本发明实施例中所提供的页面显示方法可以应用于如图1所示的应用环境中,该应用环境包括终端102、服务器104。其中,终端102能够通过网络与服务器104进行通信。终端102加载至少一张列表页面。每张列表页面包括多项列表数据。用户在终端102可以通过滑动浏览列表页面上的列表数据,浏览过程中可以通过点击某条列表数据跳转至该条列表数据对应的详情页面。当接收在某条列表数据的触发操作时,终端102响应触发操作从当前的列表页面跳转进入对应的详情页面,对已加载的列表数据进行缓存,记录被触发的列表数据所对应的显示位置。用户在终端102可以通过点击返回键从详情页面返回至列表页面。当接收到在详情页面的返回操作时,终端102响应返回操作读取已缓存的列表数据以及显示位置,根据显示位置和已缓存的列表数据重新加载该列表页面,从而从详情页面返回列表页面时,可以从列表页面发生跳转的位置继续显示。
[0046] 在一个实施例中,如图2所示,提供了一种页面显示方法,以该方法应用于终端为例进行说明,具体包括以下步骤:
[0047] 步骤202,当加载列表页面时,获取列表页面中的列表数据。
[0048] 用户可以通过终端上的轻应用等浏览列表页面,如商品列表页或者内嵌H5(HTML5,超文本标记语言)页面等。终端可以是手机或平板电脑等。列表页面包括多项列表数据,每项列表数据具有对应的数据标识。
[0049] 当用户需要浏览列表页面时,终端接收用户的列表页面进入操作,如按动按键或者点击触摸屏等。终端响应列表页面进入操作进入列表页面,从服务器加载列表数据,计算列表页面对应的缓存页数。具体的,终端向服务器发送HTTP请求报文。HTTP请求报文包括HTTP请求头字段和请求数据。其中,请求数据包括列表页面对应的多个数据标识。服务器根据HTTP请求报文向终端返回HTTP响应报文。HTTP响应报文包括HTTP响应头字段和响应数据。其中,HTTP响应头字段包括响应数据的数据大小(content-length,内容长度字段)。响应数据包括列表页面对应的列表数据。终端在列表页面加载返回的列表数据。终端根据HTTP响应头字段获取单页列表数据的数据大小。终端根据单页列表数据的数据大小和预设的缓存阈值计算缓存页数。缓存页数为终端能够缓存列表页面数量的最大值。
[0050] 步骤204,接收列表数据对应的触发操作,响应触发操作跳转至列表数据对应的详情页面。
[0051] 当加载的列表页面包括多个时,终端对已加载的多个列表页面的显示方式可以有多种。其中一种显示方式为多个已加载的列表页面连续显示,即多个列表页面可以同时显示在终端屏幕上。用户在终端可以通过滑动浏览不同的列表页面。另一种显示方式为多个已加载的列表页面分页显示,即每个列表页面单独成一页进行显示。用户在终端可以通过点击“上一页”或“下一页”等控件浏览不同的列表页面。已加载的每个列表页面具有对应的页码。用户在终端可以通过滑动浏览每个列表页面上不同的列表数据,浏览过程中可以通过点击某条列表数据跳转至该条列表数据对应的详情页面,如商品详情页。
[0052] 步骤206,对列表数据进行缓存,记录被触发的列表数据所对应的显示位置。
[0053] 当接收在某条列表数据的触发操作时,终端响应触发操作从当前的列表页面跳转进入对应的详情页面。终端获取该列表页面的页码和已加载的列表页面的总页码,将该列表页面的页码和已加载的总页码分别与缓存页数进行对比,根据对比结果对已加载的列表数据进行全部缓存或局部缓存。具体的,若该列表页面的页码与已加载的总页码均未超过缓存页数,则对已加载的列表数据进行全部缓存。若该列表页面的页码超过缓存页数,或者已加载的总页码超过缓存页数,则对已加载的列表数据进行局部缓存。局部缓存的列表数据包含发生跳转的列表页面上的列表数据,以及与该列表页面页码连续的多个列表页面上的列表数据。例如,假设缓存页数为20页,该列表页面的页码为15页,已加载的列表页面的总页码为50页,则终端可以对6~25页的列表数据进行缓存。
[0054] 当接收到对某条列表数据的触发操作时,终端获取被触发的列表数据所对应的显示位置,对被触发的列表数据所对应的显示位置进行记录。其中,不同显示方式的列表页面,被触发的列表数据所对应的显示位置的获取方式也不同。若多个列表页面分页显示,则终端可以获取被触发的列表页面上第一项列表数据与屏幕上显示的第一项列表数据之间的距离,根据该距离获取被触发的列表数据所对应的显示位置。如图3所示,假设每个列表页面包含10项并行排列的列表数据,用户点击第15页列表页面上第8项列表数据跳转至对应的详情页面,发生跳转时终端屏幕上显示的第一项列表数据为第15页列表页面上第6项列表数据,则终端获取第15页列表页面上第6项列表数据与第15页列表页面上第1项列表数据之间的距离h1。终端也可以获取被触发的列表数据与屏幕顶部之间的相对距离。例如,在上述举例中,终端获取第15页列表页面上第8项列表数据与屏幕顶部之间的相对距离,根据该距离获取被触发的列表数据所对应的显示位置。
[0055] 若多个列表页面连续显示,被触发的列表数据所对应的显示位置的获取方式包括多种。其中一种获取方式为在发生跳转时,终端获取被触发的列表数据与屏幕顶部之间的相对距离,根据该相对距离获取被触发的列表数据所对应的显示位置。例如,用户点击第15页列表页面上第3项列表数据跳转至对应的详情页面,则获取第15页列表页面上第3项列表数据与屏幕顶部之间的距离。另一种获取方式为在发生跳转时,终端获取屏幕上显示的第一项列表数据与需要缓存的第一项列表数据之间的距离,根据该距离获取被触发的列表数据所对应的显示位置。
[0056] 在一个实施例中,记录被触发的列表数据所对应的显示位置的步骤,包括:获取屏幕上第一项列表数据对应的数据标识,以及需要缓存的第一项列表数据对应的数据标识;根据需要缓存的第一项列表数据对应的数据标识和屏幕上第一项列表数据对应的数据标识,计算数据项数;获取单项列表数据的平均高度;根据数据项数和单项列表数据的平均高度,计算列表数据的滑动距离;根据滑动距离记录被触发的列表数据的显示位置。
[0057] 数据标识用于唯一识别一项列表数据,可以是数据编号等。若每项列表数据具有相同的平均高度,则根据需要缓存的第一项列表数据对应的数据编号和屏幕上显示的第一项列表数据对应的数据编号,计算数据项数;利用预先编写的JS(JavaScript,一种直译式脚本语言)脚本计算单项列表数据的平均高度;根据数据项数和单项列表数据的平均高度,计算屏幕上显示的第一项列表数据与需要缓存的第一项列表数据之间的距离,即缓存的列表数据重新加载时相对屏幕顶部需要滑动的距离。如图4所示,在上述举例中,假设每个列表页面包含10项并行排列的列表数据,多项列表数据具有连续的数据编号,如页码为1的列表页面上第一项列表数据对应的数据编号为1,终端屏幕上显示的第一项列表数据为第14页的第8项列表数据,则终端获取第6页列表页面上的第1项列表数据的数据编号ID=(6-1)*10+1=51,第14页列表页面上第8项列表数据的数据编号ID=(14-1)*10+8=138,因而数据项差值为138-51=87项。假设每项列表数据的平均高度为100PX(pixel,像素),则屏幕上显示的第一项列表数据与需要缓存的第一项列表数据之间的距离h2为87*100PX=
8700PX。
[0058] 在一个实施例中,记录被触发的列表数据所对应的显示位置的步骤,包括:分别获取缓存的第一项列表数据的高度,屏幕上第一项列表数据的高度,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度;计算缓存的第一项列表数据,屏幕上第一项列表数据,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度之和;根据高度之和记录列表页面的显示位置。
[0059] 若每项列表数据的高度不同,则终端利用预先编写的JS脚本分别获取需要缓存的第一项列表数据的高度,预计需要缓存的第一项列表数据与屏幕上显示的第一项列表数据之间的每一项列表数据的高度;计算上述多项列表数据的高度之和;根据该高度之和获取被触发的列表数据的显示位置。例如,在上述举例中,用户点击第15页列表页面上第3项列表数据跳转至对应的详情页面,终端对6~25页的列表数据进行缓存,则终端获取第6页列表页面上的第1项列表数据,以及第6页列表页面上的第1项列表数据与第14页列表页面上第8项列表数据之间的多项列表数据的高度之和。
[0060] 步骤208,接收在详情页面的返回操作,响应返回操作读取已缓存的列表数据以及显示位置,根据显示位置和已缓存的列表数据重新加载列表页面。
[0061] 用户在终端可以通过点击返回键从详情页面返回至列表页面。当接收到在详情页面的返回操作时,终端读取缓存的列表数据以及显示位置,根据显示位置对读取到的列表数据进行显示。具体的,终端可以根据记录的显示位置对列表数据的scrollTop值(滚动条的垂直偏移量)进行设置,根据设置的scrollTop值加载读取到的列表数据,可以使返回的列表页面定位至上次浏览的位置。例如,在上述举例中,当返回列表页面时,终端读取缓存的所有20(项/页)*20(页)=400项列表数据,若直接显示读取到的列表数据,则屏幕上从读取到的第一项列表数据开始显示,即从ID=51的列表数据开始显示,而被触发的列表数据ID=(15-1)*10+3=143无法得到显示。因而终端在读取到缓存的400项列表数据时,将列表数据的scrollTop值设置为8700PX,以使读取到的列表数据相对屏幕顶部滑动8700PX,从而列表页面可以在跳转的位置继续显示。
[0062] 终端也可以根据记录的被触发的列表数据与屏幕顶部之间的相对距离实现列表页面的定位。终端首先读取被触发的列表数据,根据被触发的列表数据与屏幕顶部之间的相对距离加载被触发的列表数据,从而对被触发的列表数据进行定位,再依据被触发的列表数据加载其他读取到的列表数据。
[0063] 当返回列表页面时,终端首先对缓存的列表数据进行显示。如果在返回列表页面后,用户需要对未缓存的列表数据进行浏览,则需要按照上述方式从服务器请求对应的列表数据。例如,在上述举例中,在返回列表页面后,用户需要浏览第1~5页的列表数据,则终端按照上述方式向服务器发送HTTP请求获取对应的列表数据。
[0064] 本实施例中,当列表页面发生跳转时,终端对已加载的列表数据进行缓存;当返回列表页面时,可以在缓存中直接读取列表数据,减少了需要从服务器请求列表数据的时间,可以提高列表页面加载速度。当列表页面发生跳转时,对页面跳转时的显示位置进行记录,使得返回列表页面时可以根据记录的显示位置对从缓存中读取到的列表数据进行显示,从而可以保持列表页面跳转时的状态,确保列表页面返回时不会重新从服务器初始化数据,可以在列表页面发生跳转的位置继续显示。
[0065] 在一个实施例中,对列表数据进行缓存的步骤,包括:根据列表数据计算列表页面对应的缓存页数;获取列表页面对应的页码以及已加载的列表页面的总页码;若页码与已加载的总页码均未超过缓存页数,则对已加载的列表数据进行全部缓存;若页码超过缓存页数,或者已加载的总页码超过缓存页数,则对已加载的列表数据进行局部缓存。
[0066] 在接收到用户的列表页面进入操作时,终端向服务器发送HTTP请求报文。HTTP请求报文包括列表页面对应的多个数据标识。服务器根据HTTP请求报文向终端返回HTTP响应报文。HTTP响应报文包括列表页面对应的列表数据以及包含列表页面对应的列表数据的大小的HTTP响应头字段。终端根据HTTP响应头字段获取单页列表数据的数据大小,如200KB/页。终端根据单页列表数据的数据大小和预设的缓存阈值计算缓存页数。若缓存页数为非整数,则终端对缓存页数进行取整。如预设的缓存阈值为4MB,则缓存页数为4MB/200KB=20.48,则缓存页数为20页。缓存页数为终端能够缓存列表页面数量的最大值。
[0067] 在接收到用户对列表数据的触发操作时,终端获取该列表页面的页码和已加载的列表页面的总页码,将该列表页面的页码和已加载的总页码分别与缓存页数进行对比,根据对比结果对已加载的列表数据进行全部缓存或局部缓存。
[0068] 若该列表页面的页码与已加载的总页码均未超过缓存页数,则终端对已加载页面上的列表数据进行全部缓存。例如,假设缓存页数为20页,该列表页面的页码为9页,已加载的总页码为15页,则终端缓存1~15页的列表数据。
[0069] 若该列表页面的页码等于已加载的总页码,且均超过缓存页数,终端对最新加载的与缓存页数对应数量的列表数据进行局部缓存。例如,假设缓存页数为20页,该列表页面的页码为50页,已加载页面的总页码为50页,则终端对31~50页的列表数据进行缓存。
[0070] 若该列表页面的页码小于已加载的总页码,且已加载页面的总页码超过缓存页数,终端对包含该列表页面在内的多个页码连续的列表页面上的列表数据进行局部缓存。例如,假设缓存页数为20页,该列表页面的页码为15页,已加载页面的总页码为50页,则终端可以对6~25页的列表数据进行缓存。再例如,假设缓存页数为20页,该列表页面的页码为45页,已加载页面的总页码为50页,则终端可以对36~50页或者31~50页等的列表数据进行缓存。最终缓存的列表页面的数量不应超过缓存页数。
[0071] 本实施例中,根据该列表页面的页码与已加载的总页码是否超过缓存页数,可以对已加载的列表数据进行全部缓存或者局部缓存;最终缓存的列表页面的数量不超过缓存页数,可以对列表数据进行适量缓存,既可以避免因缓存的列表数据过多影响终端性能,也可以避免应缓存的列表数据较少增加列表页面返回时重新加载列表数据的耗时。
[0072] 在一个实施例中,列表数据具有对应的数据标识;在读取已缓存的列表数据以及显示位置的步骤之前,还包括:响应返回操作向服务器发送数据同步请求,数据同步请求携带了已缓存的列表数据对应的数据标识,以使得服务器根据数据标识返回对应的列表数据;比较服务器返回的列表数据与缓存的列表数据是否一致;若否,则根据返回的列表数据对缓存的列表数据进行更新。
[0073] 当接收到在详情页面的返回操作时,终端对缓存的列表数据进行更新,读取更新后的列表数据,根据更新后的列表数据重新加载列表页面。具体的,终端向服务器发送数据同步请求,数据同步请求携带了已缓存的列表数据对应的数据标识。服务器根据数据标识返回对应的列表数据。终端对服务器返回的列表数据与缓存的列表数据进行比较,判断返回的列表数据是否发生变化。若是,则终端根据返回的列表数据对缓存的列表数据进行更新。
[0074] 传统的方式中,通过在终端缓存所有已加载的列表数据的方式实现在列表页面返回时在跳转的位置继续显示。但在终端缓存所有已加载的列表数据,由于与服务器隔离,不能同步到最新的列表数据。
[0075] 本实施例中,当页面跳转时终端对已加载的列表数据进行缓存,缓存的列表数据具有对应的数据标识;当页面返回时,可以根据缓存的数据标识向服务器请求对应的列表数据,利用服务器返回的列表数据可以对缓存的列表数据进行更新,使得用户在返回列表页面时,不仅可以在跳转的位置继续浏览,还可以读取到最新的列表数据。
[0076] 在一个实施例中,如图5所示,提供了一种页面显示装置,包括:加载模块502,跳转模块504和返回模块506,其中:
[0077] 加载模块502,用于当加载列表页面时,获取列表页面中的列表数据;
[0078] 跳转模块504,用于接收列表数据对应的触发操作,响应触发操作跳转至列表数据对应的详情页面;对列表数据进行缓存,记录被触发的列表数据所对应的显示位置;
[0079] 返回模块506,用于接收在详情页面的返回操作,响应返回操作读取已缓存的列表数据以及显示位置,根据显示位置和已缓存的列表数据重新加载列表页面。
[0080] 在其中一个实施例中,跳转模块504还用于根据列表数据计算列表页面对应的缓存页数;获取列表页面对应的页码以及已加载的列表页面的总页码;若页码与已加载的总页码均未超过缓存页数,则对已加载的列表数据进行全部缓存;若页码超过缓存页数,或者已加载的总页码超过缓存页数,则对已加载的列表数据进行局部缓存。
[0081] 在其中一个实施例中,列表数据具有对应的数据标识。该装置还包括更新模块508,用于响应返回操作向服务器发送数据同步请求,数据同步请求携带了已缓存的列表数据对应的数据标识,以使得服务器根据数据标识返回对应的列表数据;比较服务器返回的列表数据与缓存的列表数据是否一致;若否,则根据返回的列表数据对缓存的列表数据进行更新。
[0082] 在一个实施例中,提供了一种终端,如图6所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口、显示屏和输入装置。其中,终端的处理器用于提供计算和控制能力。该终端的存储器包括非易失性存储介质、内存储器。该终端的非易失性存储介质存储有操作系统和计算机程序,该终端的内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种页面显示方法。网络接口用于与服务器进行网络通信,如发送HTTP请求至服务器,接收服务器返回的列表数据等。终端的显示屏可以是液晶显示屏或电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。处理器执行计算机程序时可以执行以下步骤:当加载列表页面时,获取列表页面中的列表数据;接收列表数据对应的触发操作,响应触发操作跳转至列表数据对应的详情页面;对列表数据进行缓存,记录被触发的列表数据所对应的显示位置;接收在详情页面的返回操作,响应返回操作读取已缓存的列表数据以及显示位置,根据显示位置和已缓存的列表数据重新加载列表页面。
[0083] 本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0084] 在一个实施例中,处理器执行计算机程序时还执行以下步骤:根据列表数据计算列表页面对应的缓存页数;获取列表页面对应的页码以及已加载的列表页面的总页码;若页码与已加载的总页码均未超过缓存页数,则对已加载的列表数据进行全部缓存;若页码超过缓存页数,或者已加载的总页码超过缓存页数,则对已加载的列表数据进行局部缓存。
[0085] 在一个实施例中,处理器执行计算机程序时还执行以下步骤:记录被触发的列表数据所对应的显示位置的步骤,包括:分别获取缓存的第一项列表数据的高度,屏幕上第一项列表数据的高度,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度;计算缓存的第一项列表数据,屏幕上第一项列表数据,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度之和;根据高度之和记录列表页面的显示位置。
[0086] 在一个实施例中,处理器执行计算机程序时还执行以下步骤:记录被触发的列表数据所对应的显示位置的步骤,包括:获取屏幕上第一项列表数据对应的数据标识,以及需要缓存的第一项列表数据对应的数据标识;根据需要缓存的第一项列表数据对应的数据标识和屏幕上第一项列表数据对应的数据标识,计算数据项数;获取单项列表数据的平均高度;根据数据项数和单项列表数据的平均高度,计算列表数据的滑动距离;根据滑动距离记录被触发的列表数据的显示位置。
[0087] 在一个实施例中,列表数据具有对应的数据标识;处理器执行计算机程序时还执行以下步骤:响应返回操作向服务器发送数据同步请求,数据同步请求携带了已缓存的列表数据对应的数据标识,以使得服务器根据数据标识返回对应的列表数据;比较服务器返回的列表数据与缓存的列表数据是否一致;若否,则根据返回的列表数据对缓存的列表数据进行更新。
[0088] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时还执行以下步骤:当加载列表页面时,获取列表页面中的列表数据;接收列表数据对应的触发操作,响应触发操作跳转至列表数据对应的详情页面;对列表数据进行缓存,记录被触发的列表数据所对应的显示位置;接收在详情页面的返回操作,响应返回操作读取已缓存的列表数据以及显示位置,根据显示位置和已缓存的列表数据重新加载列表页面。
[0089] 在一个实施例中,计算机程序被处理器执行时还执行以下步骤:根据列表数据计算列表页面对应的缓存页数;获取列表页面对应的页码以及已加载的列表页面的总页码;若页码与已加载的总页码均未超过缓存页数,则对已加载的列表数据进行全部缓存;若页码超过缓存页数,或者已加载的总页码超过缓存页数,则对已加载的列表数据进行局部缓存。
[0090] 在一个实施例中,计算机程序被处理器执行时还执行以下步骤:分别获取缓存的第一项列表数据的高度,屏幕上第一项列表数据的高度,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度;计算缓存的第一项列表数据,屏幕上第一项列表数据,以及缓存的第一项列表数据与屏幕上第一项列表数据之间的列表数据的高度之和;根据高度之和记录列表页面的显示位置。
[0091] 在一个实施例中,计算机程序被处理器执行时还执行以下步骤:获取屏幕上第一项列表数据对应的数据标识,以及需要缓存的第一项列表数据对应的数据标识;根据需要缓存的第一项列表数据对应的数据标识和屏幕上第一项列表数据对应的数据标识,计算数据项数;获取单项列表数据的平均高度;根据数据项数和单项列表数据的平均高度,计算列表数据的滑动距离;根据滑动距离记录被触发的列表数据的显示位置。
[0092] 在一个实施例中,列表数据具有对应的数据标识;计算机程序被处理器执行时还执行以下步骤:响应返回操作向服务器发送数据同步请求,数据同步请求携带了已缓存的列表数据对应的数据标识,以使得服务器根据数据标识返回对应的列表数据;比较服务器返回的列表数据与缓存的列表数据是否一致;若否,则根据返回的列表数据对缓存的列表数据进行更新。
[0093] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的计算机程序可存储于一个非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
[0094] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0095] 以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。