CN111078324B - 用于预取页面数据的方法和装置 - Google Patents

用于预取页面数据的方法和装置 Download PDF

Info

Publication number
CN111078324B
CN111078324B CN201911290756.3A CN201911290756A CN111078324B CN 111078324 B CN111078324 B CN 111078324B CN 201911290756 A CN201911290756 A CN 201911290756A CN 111078324 B CN111078324 B CN 111078324B
Authority
CN
China
Prior art keywords
page
prefetched
applet
prefetching
function
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.)
Active
Application number
CN201911290756.3A
Other languages
English (en)
Other versions
CN111078324A (zh
Inventor
陈都
刘超凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201911290756.3A priority Critical patent/CN111078324B/zh
Publication of CN111078324A publication Critical patent/CN111078324A/zh
Application granted granted Critical
Publication of CN111078324B publication Critical patent/CN111078324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请实施例公开了用于预取页面数据的方法和装置。该方法的一具体实施方式包括:响应于满足页面预取触发条件,获取待预取小程序的待预取页面对应的页面对象;通过待预取页面对应的页面对象预取待预取页面的页面数据。该实施方式在页面对象上预取页面数据,避免了对小程序对象的代码入侵。

Description

用于预取页面数据的方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于预取页面数据的方法和装置。
背景技术
随着计算机技术的不断发展,各种应用层出不穷。而小程序作为一种不需要下载安装即可使用的应用,更是得到了各行各业的广泛关注。
传统的小程序运行方式是在接收到小程序的运行指令之后,下载页面数据,渲染生成页面进行显示。为了实现小程序的快速启动,可以提前预取页面数据。然而,现有的页面预取方式需要将页面数据请求搬运到小程序预取回调函数的生命周期内进行预取。此外,页面预取的数据处理和应用在页面的生命周期回调中均需要自行处理,且处理方式高度重复,造成代码冗余。
发明内容
本申请实施例提出了用于预取页面数据的方法和装置。
第一方面,本申请实施例提出了一种用于预取页面数据的方法,包括:响应于满足页面预取触发条件,获取待预取小程序的待预取页面对应的页面对象;通过待预取页面对应的页面对象预取待预取页面的页面数据。
在一些实施例中,获取待预取小程序的待预取页面对应的页面对象,包括:在小程序预取回调函数中获取待预取小程序对应的小程序描述文件;根据待预取小程序中的待预取页面的路径,从小程序描述文件中查找待预取页面对应的页面对象。
在一些实施例中,通过待预取页面对应的页面对象预取待预取页面的页面数据,包括:在待预取页面对应的页面对象上触发页面预取回调函数;将小程序预取回调函数的触发内容传递给页面预取回调函数;在页面预取回调函数的生命周期内预取待预取页面的页面数据。
在一些实施例中,根据待预取小程序中的待预取页面的路径,从小程序描述文件中查找待预取页面对应的页面对象,包括:根据小程序描述文件中的页面相对路径列表和小程序包路径,确定页面绝对路径列表;将待预取页面的路径在页面绝对路径列表中匹配,得到待预取页面对应的页面对象。
在一些实施例中,页面预取触发条件包括:待预取小程序在宿主应用的小程序推送页面上处于显示状态;或者显示在小程序推送页面上的待预取小程序被点击。
第二方面,本申请实施例提出了一种用于预取页面数据的装置,包括:获取单元,被配置成响应于满足页面预取触发条件,获取待预取小程序的待预取页面对应的页面对象;预取单元,被配置成通过待预取页面对应的页面对象预取待预取页面的页面数据。
在一些实施例中,获取单元包括:获取子单元,被配置成在小程序预取回调函数中获取待预取小程序对应的小程序描述文件;查找子单元,被配置成根据待预取小程序中的待预取页面的路径,从小程序描述文件中查找待预取页面对应的页面对象。
在一些实施例中,预取单元包括:触发子单元,被配置成在待预取页面对应的页面对象上触发页面预取回调函数;传递子单元,被配置成将小程序预取回调函数的触发内容传递给页面预取回调函数;预取子单元,被配置成在页面预取回调函数的生命周期内预取待预取页面的页面数据。
在一些实施例中,查找子单元进一步被配置成:根据小程序描述文件中的页面相对路径列表和小程序包路径,确定页面绝对路径列表;将待预取页面的路径在页面绝对路径列表中匹配,得到待预取页面对应的页面对象。
在一些实施例中,页面预取触发条件包括:待预取小程序在宿主应用的小程序推送页面上处于显示状态;或者显示在小程序推送页面上的待预取小程序被点击。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的用于预取页面数据的方法和装置,在满足页面预取触发条件的情况下,首先获取待预取小程序的待预取页面对应的页面对象,然后通过待预取页面对应的页面对象预取待预取页面的页面数据。与在小程序对象上预取页面数据相比,在页面对象上预取页面数据,避免了对小程序对象的代码入侵。此外,在页面对象上预取页面数据,还加速了对小程序数据预取功能的接入速度,从而大幅提升了小程序数据预取的覆盖面。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构;
图2是根据本申请的用于预取页面数据的方法的一个实施例的流程图;
图3是根据本申请的用于预取页面数据的方法的又一个实施例的流程图;
图4是在小程序对象上预取页面数据与在页面对象上预取页面数据的过程对比图;
图5是根据本申请的用于预取页面数据的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于预取页面数据的方法或用于预取页面数据的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括设备101、102、103和网络104。网络104用以在设备101、102、103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
设备101、102、103可以是支持网络连接从而提供各种网络服务的硬件设备或软件。当设备为硬件时,其可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和服务器等等。这时,作为硬件设备,其可以实现成多个设备组成的分布式设备群,也可以实现成单个设备。当设备为软件时,可以安装在上述所列举的电子设备中。这时,作为软件,其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
在实践中,设备可以通过安装相应的客户端应用或服务端应用来提供相应的网络服务。设备在安装了客户端应用之后,其可以在网络通信中体现为客户端。相应地,在安装了服务端应用之后,其可以在网络通信中体现为服务端。
作为示例,在图1中,设备101体现为客户端,而设备102、103体现为服务端。例如,设备101可以是安装有宿主应用的客户端,设备102可以是宿主应用的服务端,设备103可以是小程序的服务端。
需要说明的是,本申请实施例所提供的用于预取页面数据的方法一般由设备101执行,相应地,用于预取页面数据的装置一般设置于设备101中。
应该理解,图1中的网络和设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的网络和设备。
继续参考图2,其示出了根据本申请的用于预取页面数据的方法的一个实施例的流程200。该用于预取页面数据的方法包括以下步骤:
步骤201,响应于满足页面预取触发条件,获取待预取小程序的待预取页面对应的页面对象。
在本实施例中,在满足页面预取触发条件的情况下,用于预取页面数据的方法的执行主体(例如图1所示的设备101)可以获取待预取小程序的待预取页面对应的页面对象。其中,宿主应用可以例如是即时通信应用、搜索类应用等客户端应用。小程序可以是在宿主应用中运行的应用程序。小程序的运行依赖于宿主应用。页面对象又叫做页面生命周期,包括多个页面回调函数,用于对页面进行各种操作。页面对象包括的页面回调函数可以例如页面预取回调函数、页面加载回调函数、页面准备完成回调函数、页面显示回调函数、页面隐藏回调函数、页面代码卸载回调函数、页面下拉刷新回调函数、页面到达底部回调函数、页面收到分享消息回调函数和页面查询参数变化回调函数等等。
目前,为了使用户通过宿主应用运行小程序时能够快速进入小程序,通常会在小程序未开启或开启时刻等相对较早阶段预取小程序的页面数据。也就是说,在小程序未开启或开启时刻等相对较早阶段可以触发页面预取。
在本实施例的一些可选的实现方式中,页面预取触发条件可以包括:待预取小程序在宿主应用的小程序推送页面上处于显示状态;或者显示在小程序推送页面上的待预取小程序被点击。其中,当待预取小程序在小程序推送页面上处于显示状态时,待预取小程序尚未开启,当显示在小程序推送页面上的待预取小程序被点击时,待预取小程序处于开启时刻。在小程序尚未开启或开启时刻等相对较早阶段触发页面预取,能够确保用户在运行待预取小程序时快速进入待预取小程序,以显示待预取页面。小程序推送页面可以是用户在宿主应用中输入小程序搜索信息进行搜索所生成的搜索结果页面,也可以是宿主应用中展示的信息流页面。
步骤202,通过待预取页面对应的页面对象预取待预取页面的页面数据。
在本实施例中,上述执行主体可以通过待预取页面对应的页面对象预取待预取页面的页面数据。通常,页面对象可以包括页面预取回调函数。页面预取回调函数可以使页面对象实现预取功能。
在本实施例的一些可选的实现方式中,响应于待预取小程序的运行指令,上述执行主体可以基于待预取页面的页面数据渲染生成待预取页面,以及显示待预取页面。通常,当用户点击小程序推送页面上的待预取小程序时,可以认为检测到待预取小程序的运行指令。在小程序未开启或开启时刻等相对较早阶段预取待预取页面的页面数据,在小程序开启时基于待预取页面的页面数据渲染生成待预取页面并进行显示,从而实现了待预取小程序的快速启动,以及待预取页面的快速显示。
本申请实施例提供的用于预取页面数据的方法,在满足页面预取触发条件的情况下,首先获取待预取小程序的待预取页面对应的页面对象,然后通过待预取页面对应的页面对象预取待预取页面的页面数据。与在小程序对象上预取页面数据相比,在页面对象上预取页面数据,避免了对小程序对象的代码入侵。此外,在页面对象上预取页面数据,还加速了对小程序数据预取功能的接入速度,从而大幅提升了小程序数据预取的覆盖面。
进一步参考图3,其示出了根据本申请的用于预取页面数据的方法的又一个实施例的流程300。该用于预取页面数据的方法包括以下步骤:
步骤301,响应于满足页面预取触发条件,在小程序预取回调函数中获取待预取小程序对应的小程序描述文件。
在本实施例中,用于预取页面数据的方法的执行主体(例如图1所示的设备101)可以在小程序预取回调函数中获取待预取小程序对应的小程序描述文件。其中,宿主应用可以例如是即时通信应用、搜索类应用等客户端应用。小程序可以是在宿主应用中运行的应用程序。小程序的运行依赖于宿主应用。
目前,为了使用户通过宿主应用运行小程序时能够快速进入小程序,通常会在小程序未开启或开启时刻等相对较早阶段预取小程序的页面数据。通常,能够预取小程序的页面数据的小程序脚本可以如下:
app.js
//App lifecycle start.
App({
onPrefetch:function(){
console.log('SWAN Prefetch');
},
onLaunch:function(){
console.log('SWAN launch');
},
onShow:function(){
console.log('SWAN展现');
},
onHide:function(){
console.log('SWAN当前处于后台');
},
onError:function(){
console.log('SWAN发生错误');
},
globalData:'SWAN'
});
//Page lifecycle.
Page({
data:{
name:'swan'
},
onLoad:function(){
},
onReady:function(){
//Do something when page ready.
},
onShow:function(){
//Do something when page show.
},
onHide:function(){
//Do something when page hide.
},
onUnload:function(){
//Do something when page close.
},
onPullDownRefresh:function(){
//Do something when pull down.
},
onReachBottom:function(){
//Do something when page reach bottom.
},
onShareAppMessage:function(){
//return custom share data when user share.
},
onURLQueryChange:function(){
//Do something when url query change.
}
});
其中,app.js是小程序脚本文件,App lifecycle是小程序对象,又叫做小程序生命周期。App lifecycle包括多个小程序回调函数。App lifecycle中的onPrefetch是小程序预取回调函数,又叫做小程序预取钩子。App lifecycle中的onLaunch是小程序启动回调函数。App lifecycle中的onShow是小程序显示回调函数。App lifecycle中的onHide是小程序隐藏回调函数。App lifecycle中的onHide是小程序JS运行出错回调函数。Pagelifecycle是页面对象,又叫做页面生命周期。Page lifecycle包括多个页面回调函数。Page lifecycle中的onLoad是页面加载回调函数。Page lifecycle中的onReady是页面准备完成回调函数。Page lifecycle中的onShow是页面显示回调函数。Page lifecycle中的onHide是页面隐藏回调函数。Page lifecycle中的onUnload是页面代码卸载回调函数。Page lifecycle中的onPullDownRefresh是页面下拉刷新回调函数。Page lifecycle中的onReachBottom是页面到达底部回调函数。Page lifecycle中的onShareAppMessage是页面收到分享消息回调函数。Page lifecycle中的onURLQueryChange是页面查询参数变化回调函数。
这里,上述执行主体可以在小程序预取回调函数(App onPrefetch)中获取待预取小程序对应的小程序描述文件。其中,小程序描述文件可以是app.json文件,用于描述页面路径和代码的资源关系。app.json文件的配置项列表可以如下表所示:
Figure BDA0002319017520000091
步骤302,根据待预取小程序中的待预取页面的路径,从小程序描述文件中查找待预取页面对应的页面对象。
在本实施例中,上述执行主体可以根据待预取小程序中的待预取页面的路径,从小程序描述文件中查找待预取页面对应的页面对象。
现有技术中,客户端可以将用户想要运行待预取小程序而进入的待预取页面的路径派发给小程序预取回调函数,以使小程序预取回调函数中包括待预取页面的路径、待预取页面的路径所携带的查询参数、小程序预取触发状态等等。随后,待预取页面数据请求就可以被搬运到小程序预取回调函数的生命周期内进行预取。而这里为了避免对小程序对象的代码入侵,不再将待预取页面的路径派发给小程序预取回调函数,而是根据客户端派发的待预取页面的路径从小程序描述文件中查找待预取页面对应的页面对象,并在待预取页面对应的页面对象上预取待预取页面的页面数据。
在本实施例的一些可选的实现方式中,小程序描述文件中可以记录页面相对路径列表和小程序包路径,其中,页面相对路径列表可以记录待预取小程序中的各个页面相对于小程序包的路径。这样,上述执行主体就可以根据小程序描述文件中的页面相对路径列表和小程序包路径,确定页面绝对路径列表。其中,页面绝对路径列表可以用于记录待预取小程序中的各个页面的绝对路径。绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。完整的描述页面位置的路径就是绝对路径,以web站点根目录为参考基础的目录路径。此外,小程序描述文件中还可以记录待预取小程序的各个页面对应的页面对象。这样,上述执行主体就可以通过将待预取页面的路径在页面绝对路径列表中匹配,来得到待预取页面对应的页面对象。
步骤303,在待预取页面对应的页面对象上触发页面预取回调函数。
在本实施例中,上述执行主体可以在待预取页面对应的页面对象上触发页面预取回调函数。也就是说,在页面对象上增加页面预取回调函数(Page onPrefetch)。
步骤304,将小程序预取回调函数的触发内容传递给页面预取回调函数。
在本实施例中,上述执行主体可以将小程序预取回调函数的触发内容传递给页面预取回调函数。
现有技术中,待预取页面数据请求是被搬运到小程序预取回调函数的生命周期内进行预取的,因此小程序预取回调函数中包括待预取页面的路径、待预取页面的路径所携带的查询参数、小程序预取触发状态等等触发内容。而这里是将这些触发内容传递给页面预取回调函数,以实现在待预取页面对应的页面对象上预取待预取页面的页面数据。
在本实施例的一些可选的实现方式中,上述执行主体可以对小程序预取回调函数的触发内容进行封装,以及将封装后的触发内容透传给页面预取回调函数。
步骤305,在页面预取回调函数的生命周期内预取待预取页面的页面数据。
在本实施例中,上述执行主体可以在页面预取回调函数的生命周期内预取待预取页面的页面数据,其开发量仅需要从现有技术中的页面对象中的如页面加载回调函数(Page onLoad)或页面显示回调函数(Page onShow)中将页面请求逻辑迁移至预取回调函数即可实现预取。
继续参见图4,其示出了在小程序对象上预取页面数据与在页面对象上预取页面数据的过程对比图。如图4所示,左侧部分是在小程序对象上预取页面数据的过程。由于Page代码中无法直接触发页面预取逻辑,需要开发者根据prefetch钩子自行处理页面请求代码,剥离代码和数据复用逻辑,在小程序对象上预取页面数据。右侧部分是在页面对象上预取页面数据的过程。根据prefetch的路径触发对应Page的onprefetch(),在页面对象上预取页面数据。
从图3中可以看出,与图2对应的实施例相比,本实施例中的用于预取页面数据的方法的流程300突出了页面预取步骤。由此,本实施例描述的方案通过在页面对象上触发页面预取回调函数以使在页面对象上实现预取功能即可,预取方案更加灵活,接入成本更小。同时,页面的预取代码与小程序对象上的小程序预取回调函数不再耦合,提高了代码的可维护性。
进一步参考图5,作为对上述各图所示的方法的实现,本申请提供了一种用于预取页面数据的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于预取页面数据的装置500可以包括:获取单元501和预取单元502。其中,获取单元501,被配置成响应于满足页面预取触发条件,获取待预取小程序的待预取页面对应的页面对象;预取单元502,被配置成通过待预取页面对应的页面对象预取待预取页面的页面数据。
在本实施例中,用于预取页面数据的装置500中:获取单元501和预取单元502的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-202的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,获取单元501包括:获取子单元(图中未示出),被配置成在小程序预取回调函数中获取待预取小程序对应的小程序描述文件;查找子单元(图中未示出),被配置成根据待预取小程序中的待预取页面的路径,从小程序描述文件中查找待预取页面对应的页面对象。
在本实施例的一些可选的实现方式中,预取单元502包括:触发子单元(图中未示出),被配置成在待预取页面对应的页面对象上触发页面预取回调函数;传递子单元(图中未示出),被配置成将小程序预取回调函数的触发内容传递给页面预取回调函数;预取子单元(图中未示出),被配置成在页面预取回调函数的生命周期内预取待预取页面的页面数据。
在本实施例的一些可选的实现方式中,查找子单元进一步被配置成:根据小程序描述文件中的页面相对路径列表和小程序包路径,确定页面绝对路径列表;将待预取页面的路径在页面绝对路径列表中匹配,得到待预取页面对应的页面对象。
在本实施例的一些可选的实现方式中,页面预取触发条件包括:待预取小程序在宿主应用的小程序推送页面上处于显示状态;或者显示在小程序推送页面上的待预取小程序被点击。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的设备101)的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向目标的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或电子设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元和预取单元。其中,这些单元的名称在种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“响应于满足页面预取触发条件,获取待预取小程序的待预取页面对应的页面对象的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于满足页面预取触发条件,获取待预取小程序的待预取页面对应的页面对象;通过待预取页面对应的页面对象预取待预取页面的页面数据。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种用于预取页面数据的方法,包括:
响应于满足页面预取触发条件,获取待预取小程序的待预取页面对应的页面对象;
通过所述待预取页面对应的页面对象预取所述待预取页面的页面数据;
其中,所述获取待预取小程序的待预取页面对应的页面对象,包括:
在小程序预取回调函数中获取待预取小程序对应的小程序描述文件;
根据所述待预取小程序中的待预取页面的路径,从所述小程序描述文件中查找所述待预取页面对应的页面对象。
2.根据权利要求1所述的方法,其中,所述通过所述待预取页面对应的页面对象预取所述待预取页面的页面数据,包括:
在所述待预取页面对应的页面对象上触发页面预取回调函数;
将所述小程序预取回调函数的触发内容传递给所述页面预取回调函数;
在所述页面预取回调函数的生命周期内预取所述待预取页面的页面数据。
3.根据权利要求1所述的方法,其中,所述根据所述待预取小程序中的待预取页面的路径,从所述小程序描述文件中查找所述待预取页面对应的页面对象,包括:
根据所述小程序描述文件中的页面相对路径列表和小程序包路径,确定页面绝对路径列表;
将所述待预取页面的路径在所述页面绝对路径列表中匹配,得到所述待预取页面对应的页面对象。
4.根据权利要求1所述的方法,其中,所述页面预取触发条件包括:
所述待预取小程序在宿主应用的小程序推送页面上处于显示状态;或者
显示在所述小程序推送页面上的所述待预取小程序被点击。
5.一种用于预取页面数据的装置,包括:
获取单元,被配置成响应于满足页面预取触发条件,获取待预取小程序的待预取页面对应的页面对象;
预取单元,被配置成通过所述待预取页面对应的页面对象预取所述待预取页面的页面数据;
其中,所述获取单元包括:
获取子单元,被配置成在小程序预取回调函数中获取待预取小程序对应的小程序描述文件;
查找子单元,被配置成根据所述待预取小程序中的待预取页面的路径,从所述小程序描述文件中查找所述待预取页面对应的页面对象。
6.根据权利要求5所述的装置,其中,所述预取单元包括:
触发子单元,被配置成在所述待预取页面对应的页面对象上触发页面预取回调函数;
传递子单元,被配置成将所述小程序预取回调函数的触发内容传递给所述页面预取回调函数;
预取子单元,被配置成在所述页面预取回调函数的生命周期内预取所述待预取页面的页面数据。
7.根据权利要求5所述的装置,其中,所述查找子单元进一步被配置成:
根据所述小程序描述文件中的页面相对路径列表和小程序包路径,确定页面绝对路径列表;
将所述待预取页面的路径在所述页面绝对路径列表中匹配,得到所述待预取页面对应的页面对象。
8.根据权利要求5所述的装置,其中,所述页面预取触发条件包括:
所述待预取小程序在宿主应用的小程序推送页面上处于显示状态;或者
显示在所述小程序推送页面上的所述待预取小程序被点击。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-4中任一所述的方法。
CN201911290756.3A 2019-12-16 2019-12-16 用于预取页面数据的方法和装置 Active CN111078324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911290756.3A CN111078324B (zh) 2019-12-16 2019-12-16 用于预取页面数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911290756.3A CN111078324B (zh) 2019-12-16 2019-12-16 用于预取页面数据的方法和装置

Publications (2)

Publication Number Publication Date
CN111078324A CN111078324A (zh) 2020-04-28
CN111078324B true CN111078324B (zh) 2023-06-06

Family

ID=70314638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911290756.3A Active CN111078324B (zh) 2019-12-16 2019-12-16 用于预取页面数据的方法和装置

Country Status (1)

Country Link
CN (1) CN111078324B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558202A (zh) * 2018-12-14 2019-04-02 平安城市建设科技(深圳)有限公司 基于小程序的列表页面开发方法、装置、设备及存储介质
CN110457038A (zh) * 2019-08-14 2019-11-15 百度在线网络技术(北京)有限公司 附属应用端的卡片显示方法、装置、设备以及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4815501B2 (ja) * 2009-03-26 2011-11-16 三菱電機インフォメーションシステムズ株式会社 端末装置及びプログラム
CN110569078B (zh) * 2018-05-18 2023-08-08 广州腾讯科技有限公司 一种网页级程序的预加载方法和装置
CN109857486B (zh) * 2019-02-02 2022-09-09 北京字节跳动网络技术有限公司 一种程序页面数据的处理方法、装置、设备和介质
CN110083789B (zh) * 2019-04-29 2021-08-06 百度在线网络技术(北京)有限公司 一种小程序页面获取方法、服务器、客户端及电子设备
CN110321178A (zh) * 2019-06-28 2019-10-11 百度在线网络技术(北京)有限公司 附属应用端的启动处理方法、装置、设备及存储介质
CN110333912B (zh) * 2019-07-11 2023-04-18 百度在线网络技术(北京)有限公司 一种小程序数据预取的方法、装置及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558202A (zh) * 2018-12-14 2019-04-02 平安城市建设科技(深圳)有限公司 基于小程序的列表页面开发方法、装置、设备及存储介质
CN110457038A (zh) * 2019-08-14 2019-11-15 百度在线网络技术(北京)有限公司 附属应用端的卡片显示方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN111078324A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN107622135B (zh) 用于显示信息的方法和装置
CN110708346B (zh) 信息处理系统和方法
WO2018223717A1 (zh) 网页前端测试方法、装置、系统、设备及可读存储介质
US11016716B2 (en) Picture interface display method and apparatus according to jump protocol
CN110333912B (zh) 一种小程序数据预取的方法、装置及计算机可读存储介质
CN110096660B (zh) 用于加载页面图片的方法、装置和电子设备
CN110502699B (zh) 用于获取信息的方法和装置
CN106874519B (zh) 页面展现方法和装置
CN110554876A (zh) 用于编译安卓工程的方法和装置
CN111159614A (zh) 网页资源获取方法以及装置
US20220043898A1 (en) Methods and apparatuses for acquiring information
CN110619100B (zh) 用于获取数据的方法和装置
CN109582317B (zh) 用于调试寄宿应用的方法和装置
US20230171329A1 (en) Systems and methods for rendering interactive web pages
CN113010405A (zh) 一种应用程序的测试方法和装置
US10541854B2 (en) Component loading based on user interactions
CN111079048A (zh) 一种页面加载方法及装置
US9998559B2 (en) Preemptive caching of data
CN111783005B (zh) 显示网页的方法、装置和系统、计算机系统和介质
CN113329087A (zh) 用于获取信息的方法和装置
CN116561013A (zh) 基于目标服务框架的测试方法、装置、电子设备和介质
CN111078324B (zh) 用于预取页面数据的方法和装置
CN110851194A (zh) 一种用于获取实现新接口的代码的方法和装置
CN111338928A (zh) 基于chrome浏览器测试的方法及装置
CN111124523A (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