CN110362416B - 页面组件加载方法及装置、电子设备、存储介质 - Google Patents

页面组件加载方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN110362416B
CN110362416B CN201810252767.1A CN201810252767A CN110362416B CN 110362416 B CN110362416 B CN 110362416B CN 201810252767 A CN201810252767 A CN 201810252767A CN 110362416 B CN110362416 B CN 110362416B
Authority
CN
China
Prior art keywords
component
page
target
target component
url
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
CN201810252767.1A
Other languages
English (en)
Other versions
CN110362416A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810252767.1A priority Critical patent/CN110362416B/zh
Publication of CN110362416A publication Critical patent/CN110362416A/zh
Application granted granted Critical
Publication of CN110362416B publication Critical patent/CN110362416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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

Abstract

本发明实施例公开一种页面组件加载方法及装置、电子设备、存储介质。其中方法步骤包括:接收对页面的加载指令,获取页面对应的页面组件列表和组件配置信息;在页面组件列表中确定当前加载的目标组件,并在组件配置信息中获取目标组件的URL;当禁用组件集合不包括目标组件的URL时,采用目标组件的URL对目标组件进行加载,禁用组件集合为缓存中包含禁用组件的URL列表;当目标组件加载失败时,将目标组件的URL添加至禁用组件集合,并重新加载页面。采用本发明,可以快速确定出影响页面正常加载的组件,实现将加载失败的组件添加至禁用组件集合中并重新加载该页面,进而避免该组件在页面重新加载过程中对页面正常加载的影响。

Description

页面组件加载方法及装置、电子设备、存储介质
技术领域
本发明涉及页面加载技术领域,尤其涉及一种页面组件加载方法及装置、电子设备、存储介质。
背景技术
目前,页面开发人员在对前端组件进行开发时,将页面根据内容、功能和逻辑,划分为多个无关联或低耦合的部分进行开发,每个部分都包括了自己的模板、样式和代码逻辑,相互之间基本无依赖,最后再组合拼装成页面。页面所包括的组件是能够作用在页面上产生各种页面效果的一系列代码。而由于代码是单线程执行的,一个组件的代码出错,可能会影响后面其它组件的执行,甚至有可能导致页面卡死、错乱。
在这一场景下,如何解决因一个组件加载出错而影响页面正常加载问题。
发明内容
本发明实施例提供一种页面组件加载方法及装置、电子设备、存储介质,通过禁用组件集合可以在页面加载过程中快速确定出影响页面正常加载的组件,并可以实现将加载失败的组件添加至禁用组件集合中并重新加载该页面,进而避免了该组件在页面重新加载过程中对页面正常加载的影响。
一方面,为本发明实施例提供了一种页面组件加载方法,包括:
接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;
在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的统一资源定位符(Uniform Resource Locator,URL);
当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,所述禁用组件集合为缓存中包含禁用组件的URL列表;
当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面。
在一种可能的实施例中,所述当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载之前,还包括:
在所述组件配置信息中获取所述目标组件的组件类型,所述组件类型包括第一类型和第二类型,所述第一类型用于指示允许加入所述禁用组件集合的组件,所述第二类型用于指示禁止加入所述禁用组件集合的组件;
所述当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,包括:
当所述目标组件的组件类型为所述第一类型且所述禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载。
在一种可能的实施例中,所述方法还包括:
当所述目标组件的组件类型为所述第二类型,采用所述目标组件的URL对所述目标组件进行加载;
当所述目标组件的组件类型为所述第一类型且所述禁用组件集合包括所述目标组件的URL,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并执行在所述组件配置信息中获取所述目标组件的URL的步骤。
在一种可能的实施例中,所述当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面,包括:
当所述目标组件的组件类型为所述第一类型且所述目标组件加载失败时,将所述目标组件的URL添加至禁用组件集合,并重新加载所述页面;
当所述目标组件的组件类型为所述第二类型且所述目标组件加载失败时,停止加载所述目标组件,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并执行在所述组件配置信息中获取所述目标组件的URL的步骤。
在一种可能的实施例中,所述当所述目标组件加载失败之后,还包括:
在所述组件配置信息中获取所述目标组件对应的容错组件的URL;
当所述禁用组件集合不包含所述容错组件的URL时,采用所述容错组件的URL对所述容错组件进行加载;
当所述容错组件加载失败时,将所述容错组件的URL添加至所述禁用组件集合,并重新加载所述页面。
在一种可能的实施例中,所述方法还包括:
当所述目标组件加载成功时,对所述目标组件进行解析以及运行;
当所述目标组件存在解析错误或运行错误,且所述目标组件的组件类型为所述第一类型的情况下,将所述目标组件的标识添加至禁用组件集合,并重新加载所述页面。
另一方面,为本发明实施例提供了一种页面组件加载装置,包括:
信息获取单元,用于接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;
组件获取单元,用于在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的URL;
组件加载单元,用于当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,所述禁用组件集合为缓存中包含禁用组件的URL列表;
页面加载单元,用于当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面。
在一种可能的实施例中,所述页面组件加载装置还包括:
组件类型获取单元,用于在所述组件配置信息中获取所述目标组件的组件类型,所述组件类型包括第一类型和第二类型,所述第一类型用于指示允许加入所述禁用组件集合的组件,所述第二类型用于指示禁止加入所述禁用组件集合的组件;
所述组件加载单元具体用于当所述目标组件的组件类型为所述第一类型且所述禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载。
在一种可能的实施例中,所述组件加载单元,还用于当所述目标组件的组件类型为所述第二类型,采用所述目标组件的URL对所述目标组件进行加载;
所述页面加载单元,还用于当所述目标组件的组件类型为所述第一类型且所述禁用组件集合包括所述目标组件的URL,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并通知所述组件获取单元执行在所述组件配置信息中获取所述目标组件的URL。
在一种可能的实施例中,所述页面加载单元具体用于:
当所述目标组件的组件类型为所述第一类型且所述目标组件加载失败时,将所述目标组件的URL添加至禁用组件集合,并重新加载所述页面;
当所述目标组件的组件类型为所述第二类型且所述目标组件加载失败时,停止加载所述目标组件,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并通知所述组件获取单元执行在所述组件配置信息中获取所述目标组件的URL。
在一种可能的实施例中,所述组件获取单元,还用于当所述目标组件加载失败时,在所述组件配置信息中获取所述目标组件对应的容错组件的URL;
所述组件加载单元,还用于当所述禁用组件集合不包含所述容错组件的URL时,采用所述容错组件的URL对所述容错组件进行加载;
所述页面加载单元,还用于当所述容错组件加载失败时,将所述容错组件的URL添加至所述禁用组件集合,并重新加载所述页面。
在一种可能的实施例中,所述页面组件加载装置还包括:
组件解析运行单元,用于当所述目标组件加载成功时,对所述目标组件进行解析以及运行;
所述页面加载单元,还用于当所述目标组件存在解析错误或运行错误,且所述目标组件的组件类型为所述第一类型的情况下,将所述目标组件的标识添加至禁用组件集合,并重新加载所述页面。
另一方面,为本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;
在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的URL;
当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,所述禁用组件集合为缓存中包含禁用组件的URL列表;
当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面。
另一方面,为本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
在本发明实施例中,由于禁用组件集合中包括禁止加载的组件的URL,例如,禁止加载的组件的代码有误或者曾经加载失败过,这样通过禁用组件集合可以在页面加载过程中快速确定出影响页面正常加载的组件,且当未包含于禁用组件集合的组件加载失败的情况下可以将该组件的标识添加至禁用组件集合中并重新加载该页面,进而避免了该组件在页面重新加载过程中对页面正常加载的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种页面组件加载方法的流程示意图;
图2是本发明实施例提供的另一种页面组件加载方法的流程示意图;
图3是本发明实施例提供的另一种页面组件加载方法的流程示意图;
图4是本发明实施例提供的一种页面组件加载装置的示例图;
图5是本发明实施例提供的一种页面组件加载装置的结构示意图;
图6是本发明实施例提供的另一种页面组件加载装置的结构示意图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种页面组件加载方法,可以应用于在Web页面中加载组件的场景中,具体是:页面组件加载装置可以获取到禁用组件集合,该禁用组件集合包含禁止加载的组件的标识,在接收到对Web页面的加载指令时,获取所述Web页面对应的页面组件列表和组件配置信息,通过页面组件列表可以确定当前加载的目标组件,并通过组件配置信息中获取目标组件的URL;当禁用组件集合不包括目标组件的URL时,可以采用目标组件的URL对目标组件进行加载;而当目标组件加载失败时,将目标组件的URL添加至禁用组件集合,并重新加载Web页面。由于禁用组件集合中包括禁用组件的URL,例如,代码有误或者曾经加载失败过的组件的URL等,这样通过禁用组件集合可以在页面加载过程中快速确定出影响页面正常加载的组件,且当未包含于禁用组件集合的组件加载失败的情况下可以将该组件的标识添加至禁用组件集合中并重新加载该页面,进而避免了该组件在页面重新加载过程中对页面正常加载的影响。
本发明实施例涉及的页面组件加载装置或者电子设备可以是具备处理能力的设备,例如:平板电脑、手机、电子阅读器、个人计算机(Personal Computer,PC)、笔记本电脑等设备。
请参见图1,为本发明实施例提供了一种页面组件加载方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤101-步骤104。
101,接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;
具体的,当页面组件加载装置接收到对页面的加载指令的情况下,所述页面组件加载装置可以获取所述页面对应的页面组件列表和组件配置信息,所述页面组件列表可以包括所述页面需要加载的多个组件信息以及组件加载的排列顺序,所述组件信息可以包括组件名称、组件介绍等,所述组件配置信息可以包括所述页面中组件的组件标识、组件类型以及组件是否存在可替换的容错组件的组件标识等,所述组件标识可以用于唯一识别该组件,具体可以为组件的URL,以使页面组件加载装置根据该组件URL实现对组件的加载。所述页面可以为浏览器中用户需要加载的任一页面,例如,物品购买平台的页面、新闻页面等等。以物品购买平台的页面为例,页面包括的组件可以为购买按钮、可显示的图片界面、用户输入文本框等组件。
102,在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的URL;
具体的,所述页面组件加载装置可以在所述页面组件列表中确定当前需要加载的目标组件,可以理解的是,所述页面中的组件是属于串行加载的,也就是依次按照页面组件列表的组件排列顺序进行加载。所述页面组件加载装置可以确定当前需要加载的目标组件的组件信息,并可以依据该组建信息在所述组件配置信息中获取所述目标组件的URL。
103,当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载;
具体的,所述页面组件加载装置判断禁用组件集合是否包括所述目标组件的URL。这里的禁用组件集合为缓存中包含禁用组件的URL列表,例如,表示禁用组件集合所包含的组件可能是在加载过程中加载失败过、在解析过程中解析错误过或在运行过程中运行失败过等,这样禁用组件集合中所包含的组件是指影响页面正常加载、运行、显示的组件的URL。当禁用组件集合不包括所述目标组件的URL时,所述页面组件加载装置采用所述目标组件的URL对所述目标组件进行加载。
104,当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面;
具体的,在所述目标组件加载失败的情况下,所述页面组件加载装置可以将所述目标组件的URL添加至禁用组件集合,并重新加载所述页面,这样由于目标组件的URL在禁用组件集合中,因此在页面重新加载过程中则可以不再对目标组件进行加载。可以理解的是,重新加载页面是指对该页面所包括的组件进行重新加载。
在本发明实施例中,由于禁用组件集合中包括禁止加载的组件的URL,例如,禁止加载的组件的代码有误或者曾经加载失败过,这样通过禁用组件集合可以在页面加载过程中快速确定出影响页面正常加载的组件,且当未包含于禁用组件集合的组件加载失败的情况下可以将该组件的标识添加至禁用组件集合中并重新加载该页面,进而避免了该组件在页面重新加载过程中对页面正常加载的影响。
请参见图2,为本发明实施例提供了一种页面组件加载方法的流程示意图。如图2所示,本发明实施例的所述方法可以包括以下步骤201-步骤215。
201,接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;
具体的,当页面组件加载装置接收到对页面的加载指令的情况下,所述页面组件加载装置可以获取所述页面对应的页面组件列表和组件配置信息,所述页面组件列表可以包括所述页面需要加载的多个组件信息以及组件加载的排列顺序,所述组件信息可以包括组件名称、组件介绍等,所述组件配置信息可以包括所述页面中组件的组件标识、组件类型以及组件是否存在可替换的容错组件的组件标识等,所述组件标识可以用于唯一识别该组件,具体可以为组件的URL,以使页面组件加载装置根据该组件URL实现对组件的加载。所述页面可以为浏览器中用户需要加载的任一页面,例如,物品购买平台的页面、新闻页面等等。以物品购买平台的页面为例,页面包括的组件可以为购买按钮、可显示的图片界面、用户输入文本框等组件。
202,在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的URL;
具体的,所述页面组件加载装置可以在所述页面组件列表中确定当前需要加载的目标组件,可以理解的是,所述页面中的组件是属于串行加载的,也就是依次按照页面组件列表的组件排列顺序进行加载。所述页面组件加载装置可以确定当前需要加载的目标组件的组件信息,并可以依据该组建信息在所述组件配置信息中获取所述目标组件的URL。
203,获取所述目标组件的组件类型;
具体的,所述页面组件加载装置在获取到目标组件的URL之后获取该目标组件的组件类型。这里的组件类型包括第一类型和第二类型。其中,若目标组件的组件类型为第一类型表示允许该目标组件加入禁用组件集合,若目标组件的组件类型为第二类型表示不允许该目标组件加入禁用组件集合。这里的禁用组件集合为缓存中包含禁用组件的URL列表,例如,可能是在加载过程中加载失败过、在解析过程中解析错误过或在运行过程中运行失败过等,这样禁用组件集合中所包含的组件是指可以影响页面正常加载、运行、显示的组件。
将页面组件按照组件类型划分为第一类型和第二类型是为了区分页面所包括的不同关键程度的组件。第二类型的组件是表示在加载该页面过程中不可失效的重要组件,若这类组件失效则可能引起更严重的页面显示错误,因此这类组件不会被添加至禁用组件集合。第一类型的组件是表示在加载该页面过程中可以失效的组件,因此这类组件可能会被添加至禁用组件集合。这样有助于页面的正常加载。
可选的,在本发明实施例中页面中组件的组件类型可以是预先设定于组件配置信息中。
204,判断所述目标组件的组件类型是否为第二类型;
具体的,页面组件加载装置判断目标组件的组件类型是否为第二类型。若目标组件的组件类型为第二类型,则执行步骤205,若目标组件的组件类型不是第二类型,则表示目标组件的组件类型为第一类型,这一情况下则执行步骤206。
205,对所述目标组件进行加载;
具体的,若页面组件加载装置判断目标组件的组件类型是第二类型,则表示目标组件不会被加入禁用组件集合,进而直接对该目标组件进行加载。例如,页面组件加载装置根据目标组件的URL实现对目标组件的加载。
206,判断禁用组件集合是否包括所述目标组件的URL;
具体的,若页面组件加载装置判断目标组件的组件类型不是第二类型,也就是说该目标组件的组件类型为第一类型,则表示目标组件可能会被加入禁用组件集合,这一情况下,页面组件加载装置判断禁用组件集合是否包括所述目标组件的URL;若禁用组件集合包括所述目标组件的URL,则执行步骤207;若禁用组件集合不包括所述目标组件的URL,则执行步骤205对该目标组件进行加载。
207,不加载所述目标组件并将目标组件的下一个组件确定为所述目标组件;
具体的,若禁用组件集合包括所述目标组件的URL,则可以不加载所述目标组件,并按照所述页面组件列表中的排列顺序获取所述目标组件的下一个组件,可以理解的是,该下一个组件是页面中所包括的不同于目标组件的组件,且由于页面包括的多个页面组件是单线程加载的,这里通过页面组件列表来体现各组件在单线程加载过程中的顺序。当禁用组件集合包括目标组件的标识时,表示目标组件可能会出现加载失败、解析错误或运行错误等情况而影响该页面的加载,因此这一情况下,页面组件加载装置不执行加载目标组件的步骤,接着获取目标组件的下一个组件。
在获取到该下一个组件后,可以进一步将该下一个组件确定为所述目标组件,并可以转入步骤202中对目标组件的URL进行获取,其具体实现过程可以参考本申请实施例中对目标组件所执行步骤的详细描述,在此不再赘述。
208,判断所述目标组件是否加载成功;
具体的,在页面组件加载装置通过执行步骤205对目标组件加载之后,判断目标组件是否加载成功,若目标组件加载成功,则执行步骤211,若加载失败,则执行步骤209或步骤210。
209,当所述目标组件的组件类型为第二类型,将目标组件的下一个组件确定为所述目标组件;
具体的,在所述目标组件加载失败的情况下,若目标组件的组件类型为第二类型,则表示该目标组件在加载该页面过程中是不可失效的,因此页面组件加载装置可以停止加载所述目标组件。可选的,还可以按照所述页面组件列表中的排列顺序获取所述目标组件的下一个组件,在获取到该下一个组件后,可以进一步将该下一个组件确定为所述目标组件,并可以转入步骤202中对目标组件的URL进行获取,其具体实现过程可以参考本申请实施例中对目标组件所执行步骤的详细描述,在此不再赘述。举例来说,在物品购买平台中,目标组件为页面中的购买按钮,购买按钮对于物品购买平台而言是不可失效的,但若在购买按钮加载失败的情况下,还可以继续加载页面中的其他组件。
其中,对于所述目标组件加载失败还可以执行图3所示实施例的步骤301至步骤304,请参见以下详细描述。
210,当所述目标组件为所述第一类型,将所述目标组件的URL添加至禁用组件集合,并重新加载所述页面。
具体的,在所述目标组件加载失败的情况下,若目标组件的组件类型为第一类型,则表示该目标组件在加载该页面过程中是可以失效的,且可以将目标组件的标识添加在禁用组件集合,并重新加载所述页面,这样由于目标组件的标识在禁用组件集合中,因此在页面重新加载过程中不需要对目标组件进行加载。
211,对所述目标组件进行解析;
具体的,在执行步骤208之后,页面组件加载装置确定目标组件加载成功,则对所加载的目标组件进行解析。例如,所加载到的目标组件为目标组件的程序代码,页面组件加载装置可以对目标组件的代码进行解析,以确定是否存在解析错误,这里的解析错误可以为语法错误等。
212,判断所述目标组件是否解析成功;
具体的,在页面组件加载装置对所述目标组件进行解析之后,判断目标组件是否解析成功,若解析成功,则执行步骤213,若解析失败,则执行步骤209或步骤210。
步骤212之后,在所述目标组件解析失败的情况下,若目标组件的组件类型为第二类型,则表示该目标组件在加载该页面过程中是不可失效的,因此页面组件加载装置可以停止加载所述目标组件。还可以按照所述页面组件列表中的排列顺序获取所述目标组件的下一个组件,在获取到该下一个组件后,可以进一步将该下一个组件确定为所述目标组件,并可以转入步骤202中对目标组件的URL进行获取,其具体实现过程可以参考本申请实施例中对目标组件所执行步骤的详细描述,在此不再赘述。举例来说,在物品购买平台中,目标组件为页面中的购买按钮,购买按钮对于物品购买平台而言是不可失效的,但若在购买按钮加载失败的情况下,还可以继续加载页面中的其他组件。
步骤212之后,在所述目标组件解析失败的情况下,若目标组件的组件类型为第一类型,则表示该目标组件在加载该页面过程中是可以失效的,且可以将目标组件的标识添加在禁用组件集合,并重新加载所述页面,这样由于目标组件的标识在禁用组件集合中,因此在页面重新加载过程中不需要对目标组件进行加载。
213,对所述目标组件进行运行;
具体的,在所述目标组件解析成功的情况下,页面组件加载装置对所述目标组件进行运行,以确定是否存在运行错误。
214,判断所述目标组件是否运行成功;
具体的,页面组件加载装置判断所述目标组件是否运行成功,若运行成功,则执行步骤215;若运行失败,则执行步骤209或步骤210。
步骤214之后,在所述目标组件运行失败的情况下,若目标组件的组件类型为第二类型,则表示该目标组件在加载该页面过程中是不可失效的,因此页面组件加载装置可以停止加载所述目标组件。可选的,还可以按照所述页面组件列表中的排列顺序获取所述目标组件的下一个组件,在获取到该下一个组件后,可以进一步将该下一个组件确定为所述目标组件,并可以转入步骤202中对目标组件的URL进行获取,其具体实现过程可以参考本申请实施例中对目标组件所执行步骤的详细描述,在此不再赘述。举例来说,在物品购买平台中,目标组件为页面中的购买按钮,购买按钮对于物品购买平台而言是不可失效的,但若在购买按钮加载失败的情况下,还可以继续加载页面中的其他组件。
步骤214之后,在所述目标组件运行失败的情况下,若目标组件的组件类型为第一类型,则表示该目标组件在加载该页面过程中是可以失效的,且可以将目标组件的标识添加在禁用组件集合,并重新加载所述页面,这样由于目标组件的标识在禁用组件集合中,因此在页面重新加载过程中不需要对目标组件进行加载。
215,将目标组件的下一个组件确定为目标组件。
具体的,所述页面组件加载装置按照所述页面组件列表中的排列顺序获取所述目标组件的下一个组件,可以理解的是,该下一个组件是页面中所包括的不同于目标组件的组件,且由于页面包括的多个页面组件是单线程加载的,这里通过页面组件列表来体现各组件在单线程加载过程中的顺序。当禁用组件集合包括目标组件的标识时,表示目标组件可能会出现加载失败、解析错误或运行错误等情况而影响该页面的加载,因此这一情况下,页面组件加载装置不执行加载目标组件的步骤,接着获取目标组件的下一个组件。
在获取到该下一个组件后,可以进一步将该下一个组件确定为所述目标组件,并可以转入步骤202中对目标组件的URL进行获取,其具体实现过程可以参考本申请实施例中对目标组件所执行步骤的详细描述,在此不再赘述。
可选的,在目标组件加载失败、解析失败或运行失败的情况下,还可以输出通知信息、例如,在目标组件加载失败的情况下,该通知信息用于通知目标组件加载失败;又如,在目标组件解析失败的情况下,该通知信息用于通知目标组件解析失败,还可以指出解析失败的代码行或代码位置等等;又如,在目标组件运行失败的情况下,该通知信息还用于通知目标组件运行失败,还可以指出该目标组件运行错误的堆栈信息,以便于技术人员快速定位问题并及时修复。
在本发明实施例中,由于禁用组件集合中包括禁止加载的组件的URL,例如,禁止加载的组件的代码有误或者曾经加载失败过,这样通过禁用组件集合可以在页面加载过程中快速确定出影响页面正常加载的组件,且当未包含于禁用组件集合的组件加载失败的情况下可以将该组件的标识添加至禁用组件集合中并重新加载该页面,进而避免了该组件在页面重新加载过程中对页面正常加载的影响。另外,将组件的组件类型划分为第一类型和第二类型,以区分组件在加载该页面过程中是否可以失效,以避免不可以失效的组件引起更严重的页面显示错误,进而有助于页面的正常加载。
请一并参见图3,为本申请实施例提供了一种页面组件加载的流程示意图。如图3所示,该方法包括步骤301至步骤304。
301,当所述目标组件加载失败时,在所述组件配置信息中获取所述目标组件对应的容错组件的URL;
具体的,当所述目标组件加载失败时,页面组件加载装置在所述组件配置信息中获取目标组件对应的容错组件。这里的容错组件是在目标组件的备用组件,可以用容错组件来代替目标组件,以实现目标组件的部分功能。例如,容错组件为某一个功能的旧版本文件,相比于目标组件,容错组件提供了一个降级服务。这样在目标组件加载失败且还存在容错组件的情况下,可以实现降级服务,降低了页面加载的功能损失。
302,当所述禁用组件集合不包含所述容错组件的URL时,采用所述容错组件的URL对所述容错组件进行加载;
具体的,在获取到目标组件对应的容错组件之后,页面组件加载装置判断禁用组件集合中是否包含容错组件的URL。若禁用组件集合不包含容错组件的URL,则对所述容错组件进行加载,例如,采用所述容错组件的URL对容错组件的加载,可以参考图2所示实施例中对目标组件执行的步骤208至步骤215。可选的,在对容错组件加载之前还可以参考图2所示实施例中对目标组件执行的步骤203至步骤207的部分或全部步骤,本发明实施例对此不作限定。
303,当所述容错组件加载失败时,将所述容错组件的URL添加至所述禁用组件集合,并重新加载所述页面;
具体的,在所述容错组件加载失败的情况下,所述页面组件加载装置可以将所述容错组件的URL添加至禁用组件集合,并重新加载所述页面,这样由于容错组件的URL在禁用组件集合中,因此在页面重新加载过程中则可以不再对容错组件进行加载。可以理解的是,重新加载页面是指对该页面所包括的组件进行重新加载。
304,当所述禁用组件集合包含所述容错组件的URL时,不加载所述容错组件;
可选的,在目标组件解析失败或运行失败的情况下,也可以获取所述目标组件的容错组件,并根据步骤302-步骤304的方案进行执行。
可选的,在不存在目标组件对应的容错组件的情况下;或者,在不加载所述容错组件的情况下;或者,在完成对容错组件的成功加载、成功解析以及成功运行的情况下,所述页面组件加载装置按照所述页面组件列表中的排列顺序获取所述目标组件的下一个组件,在获取到该下一个组件后,可以进一步将该下一个组件确定为所述目标组件,并可以转入步骤202中对目标组件的URL进行获取,其具体实现过程可以参考本申请实施例中对目标组件所执行步骤的详细描述,在此不再赘述。
在图3所示实施例中,在目标组件加载失败的情况下,通过增加容错组件的方式可以实现降级服务,降低了页面加载的功能损失。
请参见图4,为本申请实施例提供了一种页面组件加载装置的示例图。如图4所示,该页面组件加载装置存储有页面组件列表、禁用组件集合列表、组件配置信息列表。其中,页面组件列表中包括了该页面所包括的多个组件的组件信息,如组件1、组件2、……、组件N;禁用组件集合包括了禁用组件的URL,如组件5、组件11等;组件配置信息包括各个组件的URL、组件类型、容错组件。
页面组件加载装置接收对页面的加载指令,从页面组件列表中获取页面包括的目标组件,例如,目标组件为组件1。接着,页面组件加载装置可以通过从组件配置信息列表获取组件1的组件类型,并判断组件1的组件类型是否为第二类型,若判断组件1的组件类型是第二类型,则表示组件1不会被加入禁用组件集合列表,进而直接对该组件1进行加载。若判断组件1的组件类型不是第二类型,也就是说该组件1的组件类型为第一类型,则表示组件1可能会被加入禁用组件集合列表,这一情况下,页面组件加载装置判断禁用组件集合列表中是否包括组件1的URL;若禁用组件集合列表包括组件1的URL,则不加载组件1并获取页面包括的下一个组件,按照页面组件列表的组件加载顺序,可以确定下一个组件为组件2;若禁用组件集合列表不包括组件1的URL,则对该组件1进行加载。在页面组件加载装置对组件1加载之后,判断组件1是否加载成功,若组件1加载成功,则对组件1进行解析以及运行,若组件1加载失败,当组件1的组件类型为第二类型,中止加载页面;当组件1为第一类型,将组件1的URL添加至禁用组件集合列表,并重新加载页面。另外,当组件1加载失败时,页面组件加载装置从组件配置信息列表中获取组件1对应的容错组件。当禁用组件集合列表不包含组件1对应的容错组件的URL时,对组件1对应的容错组件进行加载。当禁用组件集合列表包含组件1对应的容错组件的URL时,不加载组件1对应的容错组件。
在图4所示实施例中,由于禁用组件集合列表中包括禁止加载的组件的URL,例如,禁止加载的组件的代码有误或者曾经加载失败过,这样通过禁用组件集合列表可以在页面加载过程中快速确定出影响页面正常加载的组件,且当未包含于禁用组件集合列表的组件加载失败的情况下可以将该组件的URL添加至禁用组件集合列表中并重新加载该页面,进而避免了该组件在页面重新加载过程中对页面正常加载的影响。将组件的组件类型划分为第一类型和第二类型,以区分组件在加载该页面过程中是否可以失效,以避免不可以失效的组件引起更严重的页面显示错误,进而有助于页面的正常加载。另外,在目标组件加载失败的情况下,通过增加容错组件的方式可以实现降级服务,降低了页面加载的功能损失。
请参见图5,为本发明实施例提供了一种页面组件加载装置的结构示意图。如图5所示,本发明实施例的所述页面组件加载装置500可以包括:信息获取单元501、组件获取单元502、组件加载单元503和页面加载单元504。
信息获取单元501,用于接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;
具体实现中,当所述信息获取单元501接收到对页面的加载指令的情况下,所述信息获取单元501可以获取所述页面对应的页面组件列表和组件配置信息,所述页面组件列表可以包括所述页面需要加载的多个组件信息以及组件加载的排列顺序,所述组件信息可以包括组件名称、组件介绍等,所述组件配置信息可以包括所述页面中组件的组件标识、组件类型以及组件是否存在可替换的容错组件的组件标识等,所述组件标识可以用于唯一识别该组件,具体可以为组件的URL,以使组件加载单元503根据该组件URL实现对组件的加载。所述页面可以为浏览器中用户需要加载的任一页面,例如,物品购买平台的页面、新闻页面等等。以物品购买平台的页面为例,页面包括的组件可以为购买按钮、可显示的图片界面、用户输入文本框等组件。
组件获取单元502,用于在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的URL;
具体实现中,所述组件获取单元502可以在所述页面组件列表中确定当前需要加载的目标组件,可以理解的是,所述页面中的组件是属于串行加载的,也就是依次按照页面组件列表的组件排列顺序进行加载。所述组件获取单元502可以确定当前需要加载的目标组件的组件信息,并可以依据该组建信息在所述组件配置信息中获取所述目标组件的URL。
组件加载单元503,用于当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,所述禁用组件集合为缓存中包含禁用组件的URL列表;
具体实现中,所述组件加载单元503判断禁用组件集合是否包括所述目标组件的URL。这里的禁用组件集合为缓存中包含禁用组件的URL列表,例如,表示禁用组件集合所包含的组件可能是在加载过程中加载失败过、在解析过程中解析错误过或在运行过程中运行失败过等,这样禁用组件集合中所包含的组件是指影响页面正常加载、运行、显示的组件的URL。当禁用组件集合不包括所述目标组件的URL时,所述页面组件加载装置500采用所述目标组件的URL对所述目标组件进行加载。
页面加载单元504,用于当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面;
具体实现中,在所述目标组件加载失败的情况下,所述页面加载单元504可以将所述目标组件的URL添加至禁用组件集合,并重新加载所述页面,这样由于目标组件的URL在禁用组件集合中,因此在页面重新加载过程中则可以不再对目标组件进行加载。可以理解的是,重新加载页面是指对该页面所包括的组件进行重新加载。
在本发明实施例中,由于禁用组件集合中包括禁止加载的组件的URL,例如,禁止加载的组件的代码有误或者曾经加载失败过,这样通过禁用组件集合可以在页面加载过程中快速确定出影响页面正常加载的组件,且当未包含于禁用组件集合的组件加载失败的情况下可以将该组件的标识添加至禁用组件集合中并重新加载该页面,进而避免了该组件在页面重新加载过程中对页面正常加载的影响。
请参见图6,为本发明实施例提供了另一种页面组件加载装置的结构示意图。如图6所示,本发明实施例的所述页面组件加载装置可以包括:信息获取单元601、组件获取单元602、组件类型获取单元603、组件加载单元604、组件解析运行单元605和页面加载单元605。
信息获取单元601,用于接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;
具体实现中,当所述信息获取单元601接收到对页面的加载指令的情况下,所述信息获取单元601可以获取所述页面对应的页面组件列表和组件配置信息,所述页面组件列表可以包括所述页面需要加载的多个组件信息以及组件加载的排列顺序,所述组件信息可以包括组件名称、组件介绍等,所述组件配置信息可以包括所述页面中组件的组件标识、组件类型以及组件是否存在可替换的容错组件的组件标识等,所述组件标识可以用于唯一识别该组件,具体可以为组件的URL,以使组件加载单元604根据该组件URL实现对组件的加载。所述页面可以为浏览器中用户需要加载的任一页面,例如,物品购买平台的页面、新闻页面等等。以物品购买平台的页面为例,页面包括的组件可以为购买按钮、可显示的图片界面、用户输入文本框等组件。
组件获取单元602,用于在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的URL;
具体实现中,所述组件获取单元602可以在所述页面组件列表中确定当前需要加载的目标组件,可以理解的是,所述页面中的组件是属于串行加载的,也就是依次按照页面组件列表的组件排列顺序进行加载。所述组件获取单元602可以确定当前需要加载的目标组件的组件信息,并可以依据该组建信息在所述组件配置信息中获取所述目标组件的URL。
组件类型获取单元603,用于在所述组件配置信息中获取所述目标组件的组件类型,所述组件类型包括第一类型和第二类型,所述第一类型用于指示允许加入所述禁用组件集合的组件,所述第二类型用于指示禁止加入所述禁用组件集合的组件;
具体实现中,所述组件类型获取单元603在获取到目标组件之后获取该目标组件的组件类型。这里的组件类型包括第一类型和第二类型。其中,若目标组件的组件类型为第一类型表示允许该目标组件加入禁用组件集合,若目标组件的组件类型为第二类型表示不允许该目标组件加入禁用组件集合。这里的禁用组件集合为缓存中包含禁用组件的URL列表,例如,可能是在加载过程中加载失败过、在解析过程中解析错误过或在运行过程中运行失败过等,这样禁用组件集合中所包含的组件是指可以影响页面正常加载、运行、显示的组件。
将页面组件按照组件类型划分为第一类型和第二类型是为了区分页面所包括的不同关键程度的组件。第二类型的组件是表示在加载该页面过程中不可失效的重要组件,若这类组件失效则可能引起更严重的页面显示错误,因此这类组件不会被添加至禁用组件集合。第一类型的组件是表示在加载该页面过程中可以失效的组件,因此这类组件可能会被添加至禁用组件集合。这样有助于页面的正常加载。
可选的,在本发明实施例中页面中组件的组件类型可以是预先设定于组件配置信息中。
所述组件加载单元604具体用于当所述目标组件的组件类型为所述第一类型且所述禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载。
具体的,若页面组件加载装置判断目标组件的组件类型不是第二类型,也就是说该目标组件的组件类型为第一类型,则表示目标组件可能会被加入禁用组件集合,这一情况下,页面组件加载装置判断禁用组件集合是否包括所述目标组件的URL;若禁用组件集合包括所述目标组件的URL,则执行上述步骤207;若禁用组件集合不包括所述目标组件的URL,则执行上述步骤205对该目标组件进行加载。
所述组件加载单元604,还用于当所述目标组件的组件类型为所述第二类型,采用所述目标组件的URL对所述目标组件进行加载。
具体的,若页面组件加载装置判断目标组件的组件类型是第二类型,则表示目标组件不会被加入禁用组件集合,进而直接对该目标组件进行加载。例如,页面组件加载装置根据目标组件的URL实现对目标组件的加载。
所述组件加载单元604,还用于当所述目标组件的组件类型为所述第一类型且所述禁用组件集合包括所述目标组件的URL,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并通知所述组件获取单元602执行在所述组件配置信息中获取所述目标组件的URL;
具体实现中,若禁用组件集合包括所述目标组件的URL,则可以不加载所述目标组件,并按照所述页面组件列表中的排列顺序获取所述目标组件的下一个组件,可以理解的是,该下一个组件是页面中所包括的不同于目标组件的组件,且由于页面包括的多个页面组件是单线程加载的,这里通过页面组件列表来体现各组件在单线程加载过程中的顺序。当禁用组件集合包括目标组件的标识时,表示目标组件可能会出现加载失败、解析错误或运行错误等情况而影响该页面的加载,因此这一情况下,所述组件加载单元604不执行加载目标组件的步骤,可以通知所述组件获取单元602接着获取目标组件的下一个组件。
在获取到该下一个组件后,可以进一步将该下一个组件确定为所述目标组件,并可以转入上述步骤202中对目标组件的URL进行获取,其具体实现过程可以参考本申请实施例中对目标组件所执行步骤的详细描述,在此不再赘述。
所述页面加载单元606具体用于:当所述目标组件的组件类型为所述第一类型且所述目标组件加载失败时,将所述目标组件的URL添加至禁用组件集合,并重新加载所述页面;当所述目标组件的组件类型为所述第二类型且所述目标组件加载失败时,停止加载所述目标组件,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并通知所述组件获取单元602执行在所述组件配置信息中获取所述目标组件的URL;
具体的,在所述目标组件加载失败的情况下,若目标组件的组件类型为第二类型,则表示该目标组件在加载该页面过程中是不可失效的,因此页面组件加载装置可以停止加载所述目标组件。可选的,还可以按照所述页面组件列表中的排列顺序获取所述目标组件的下一个组件,在获取到该下一个组件后,可以进一步将该下一个组件确定为所述目标组件,并可以转入上述步骤202中对目标组件的URL进行获取,其具体实现过程可以参考本申请实施例中对目标组件所执行步骤的详细描述,在此不再赘述。举例来说,在物品购买平台中,目标组件为页面中的购买按钮,购买按钮对于物品购买平台而言是不可失效的,但若在购买按钮加载失败的情况下,还可以继续加载页面中的其他组件。
在所述目标组件加载失败的情况下,若目标组件的组件类型为第一类型,则表示该目标组件在加载该页面过程中是可以失效的,且可以将目标组件的标识添加在禁用组件集合,并重新加载所述页面,这样由于目标组件的标识在禁用组件集合中,因此在页面重新加载过程中不需要对目标组件进行加载。
所述组件获取单元602,还用于当所述目标组件加载失败时,在所述组件配置信息中获取所述目标组件对应的容错组件的URL;
具体实现中,当所述目标组件加载失败时,所述组件获取单元602在所述组件配置信息中获取目标组件对应的容错组件。这里的容错组件是在目标组件的备用组件,可以用容错组件来代替目标组件,以实现目标组件的部分功能。例如,容错组件为某一个功能的旧版本文件,相比于目标组件,容错组件提供了一个降级服务。这样在目标组件加载失败且还存在容错组件的情况下,可以实现降级服务,降低了页面加载的功能损失。
所述组件加载单元604,还用于当所述禁用组件集合不包含所述容错组件的URL时,采用所述容错组件的URL对所述容错组件进行加载;
具体的,在获取到目标组件对应的容错组件之后,页面组件加载装置判断禁用组件集合中是否包含容错组件的URL。若禁用组件集合不包含容错组件的URL,则对所述容错组件进行加载,例如,采用所述容错组件的URL对容错组件的加载,可以参考图2所示实施例中对目标组件执行的上述步骤208至步骤215。可选的,在对容错组件加载之前还可以参考图2所示实施例中对目标组件执行的上述步骤202至步骤206的部分或全部步骤,本发明实施例对此不作限定。
所述页面加载单元606,还用于当所述容错组件加载失败时,将所述容错组件的URL添加至所述禁用组件集合,并重新加载所述页面;
具体实现中,在所述容错组件加载失败的情况下,所述页面加载单元606可以将所述容错组件的URL添加至禁用组件集合,并重新加载所述页面,这样由于容错组件的URL在禁用组件集合中,因此在页面重新加载过程中则可以不再对容错组件进行加载。可以理解的是,重新加载页面是指对该页面所包括的组件进行重新加载。
所述组件加载单元604,还用于当所述禁用组件集合包含所述容错组件的URL时,不加载所述容错组件。
组件解析运行单元605,用于当所述目标组件加载成功时,对所述目标组件进行解析以及运行。
所述页面加载单元606,还用于当所述目标组件存在解析错误或运行错误,且所述目标组件的组件类型为所述第一类型的情况下,将所述目标组件的标识添加至禁用组件集合,并重新加载所述页面。
需要说明的是,本发明实施例所描述的页面组件加载装置所执行的单元及带来的有益效果可根据上述图1至图4所示方法实施例中页面组件加载装置所执行的步骤的具体实现,此处不再赘述,部分结构也可以基于实际需求进行连接。
在本发明实施例中,由于禁用组件集合中包括禁止加载的组件的URL,例如,禁止加载的组件的代码有误或者曾经加载失败过,这样通过禁用组件集合可以在页面加载过程中快速确定出影响页面正常加载的组件,且当未包含于禁用组件集合的组件加载失败的情况下可以将该组件的URL添加至禁用组件集合中并重新加载该页面,进而避免了该组件在页面重新加载过程中对页面正常加载的影响。另外,将组件的组件类型划分为第一类型和第二类型,以区分组件在加载该页面过程中是否可以失效,以避免不可以失效的组件引起更严重的页面显示错误,进而有助于页面的正常加载。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图4所示实施例的方法步骤,具体执行过程可以参见图1-图4所示实施例的具体说明,在此不进行赘述。
请参见图7,为本发明实施例提供了另一种电子设备的结构示意图。如图7所示,所述电子设备700可以包括:至少一个处理器701,例如CPU,通信接口,例如通信接口包括至少一个网络接口704以及用户接口703,存储器705,至少一个通信总线702。其中,通信总线702用于实现这些组件之间的连接通信。其中,用户接口703可以包括显示屏(Display)等,可选用户接口703还可以包括标准的有线接口、无线接口。网络接口704可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器705可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器705可选的还可以是至少一个位于远离前述处理器701的存储装置。如图7所示,作为一种计算机存储介质的存储器705中可以包括操作系统、网络通信模块、用户接口模块以及页面组件加载应用程序。
在图7所示的电子设备700中,用户接口703主要用于为用户提供输入的接口,例如,输入需要检测的音频数据等;处理器701可以用于调用存储器705中存储的页面组件加载应用程序,并具体执行以下操作:
接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;
在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的统一资源定位符URL;
当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,所述禁用组件集合为缓存中包含禁用组件的URL列表;
当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面。
在一个实施例中,所述处理器1001在执行当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载之前,还执行以下操作:
在所述组件配置信息中获取所述目标组件的组件类型,所述组件类型包括第一类型和第二类型,所述第一类型用于指示允许加入所述禁用组件集合的组件,所述第二类型用于指示禁止加入所述禁用组件集合的组件;
所述当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,包括:
当所述目标组件的组件类型为所述第一类型且所述禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载。
在一个实施例中,所述处理器1001还执行以下操作:
当所述目标组件的组件类型为所述第二类型,采用所述目标组件的URL对所述目标组件进行加载;
当所述目标组件的组件类型为所述第一类型且所述禁用组件集合包括所述目标组件的URL,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并执行在所述组件配置信息中获取所述目标组件的URL的步骤。
在一个实施例中,所述处理器1001在执行当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面时,具体执行以下操作:
当所述目标组件的组件类型为所述第一类型且所述目标组件加载失败时,将所述目标组件的URL添加至禁用组件集合,并重新加载所述页面;
当所述目标组件的组件类型为所述第二类型且所述目标组件加载失败时,停止加载所述目标组件,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并执行在所述组件配置信息中获取所述目标组件的URL的步骤。
在一个实施例中,所述处理器1001在所述目标组件加载失败之后,还执行以下操作:
在所述组件配置信息中获取所述目标组件对应的容错组件的URL;
当所述禁用组件集合不包含所述容错组件的URL时,采用所述容错组件的URL对所述容错组件进行加载;
当所述容错组件加载失败时,将所述容错组件的URL添加至所述禁用组件集合,并重新加载所述页面。
在一个实施例中,所述处理器1001还执行以下操作:
当所述目标组件加载成功时,对所述目标组件进行解析以及运行;
当所述目标组件存在解析错误或运行错误,且所述目标组件的组件类型为所述第一类型的情况下,将所述目标组件的标识添加至禁用组件集合,并重新加载所述页面。
在本发明实施例中,由于禁用组件集合中包括禁止加载的组件的URL,例如,禁止加载的组件的代码有误或者曾经加载失败过,这样通过禁用组件集合可以在页面加载过程中快速确定出影响页面正常加载的组件,且当未包含于禁用组件集合的组件加载失败的情况下可以将该组件的URL添加至禁用组件集合中并重新加载该页面,进而避免了该组件在页面重新加载过程中对页面正常加载的影响。另外,将组件的组件类型划分为第一类型和第二类型,以区分组件在加载该页面过程中是否可以失效,以避免不可以失效的组件引起更严重的页面显示错误,进而有助于页面的正常加载。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (10)

1.一种页面组件加载方法,其特征在于,包括:
接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;所述页面组件列表包括所述页面需要加载的多个组件信息以及组件加载的排列顺序;所述多个组件信息对应的组件是依次按照所述组件排列顺序进行加载的;
根据所述组件排列顺序在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的统一资源定位符URL;
当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,所述禁用组件集合为缓存中包含禁用组件的URL列表;
当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面;重新加载所述页面的过程中不再对所述目标组件进行加载。
2.根据权利要求1所述的方法,其特征在于,所述当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载之前,还包括:
在所述组件配置信息中获取所述目标组件的组件类型,所述组件类型包括第一类型和第二类型,所述第一类型用于指示允许加入所述禁用组件集合的组件,所述第二类型用于指示禁止加入所述禁用组件集合的组件;
所述当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,包括:
当所述目标组件的组件类型为所述第一类型且所述禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述目标组件的组件类型为所述第二类型,采用所述目标组件的URL对所述目标组件进行加载;
当所述目标组件的组件类型为所述第一类型且所述禁用组件集合包括所述目标组件的URL,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并执行在所述组件配置信息中获取所述目标组件的URL的步骤。
4.根据权利要求2所述的方法,其特征在于,所述当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面,包括:
当所述目标组件的组件类型为所述第一类型且所述目标组件加载失败时,将所述目标组件的URL添加至禁用组件集合,并重新加载所述页面;
当所述目标组件的组件类型为所述第二类型且所述目标组件加载失败时,停止加载所述目标组件,将所述页面组件列表中所述目标组件的下一个组件确定为所述目标组件,并执行在所述组件配置信息中获取所述目标组件的URL的步骤。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述当所述目标组件加载失败之后,还包括:
在所述组件配置信息中获取所述目标组件对应的容错组件的URL;
当所述禁用组件集合不包含所述容错组件的URL时,采用所述容错组件的URL对所述容错组件进行加载;
当所述容错组件加载失败时,将所述容错组件的URL添加至所述禁用组件集合,并重新加载所述页面。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述目标组件加载成功时,对所述目标组件进行解析以及运行;
当所述目标组件存在解析错误或运行错误,且所述目标组件的组件类型为所述第一类型的情况下,将所述目标组件的标识添加至禁用组件集合,并重新加载所述页面。
7.一种页面组件加载装置,其特征在于,包括:
信息获取单元,用于接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;所述页面组件列表包括所述页面需要加载的多个组件信息以及组件加载的排列顺序;所述多个组件信息对应的组件是依次按照所述组件排列顺序进行加载的;
组件获取单元,用于根据所述组件排列顺序在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的URL;
组件加载单元,用于当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,所述禁用组件集合为缓存中包含禁用组件的URL列表;
页面加载单元,用于当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面;重新加载所述页面的过程中不再对所述目标组件进行加载。
8.根据权利要求7所述的装置,其特征在于,所述页面组件加载装置还包括:
组件类型获取单元,用于在所述组件配置信息中获取所述目标组件的组件类型,所述组件类型包括第一类型和第二类型,所述第一类型用于指示允许加入所述禁用组件集合的组件,所述第二类型用于指示禁止加入所述禁用组件集合的组件;
所述组件加载单元具体用于当所述目标组件的组件类型为所述第一类型且所述禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~6任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
接收对页面的加载指令,获取所述页面对应的页面组件列表和组件配置信息;所述页面组件列表包括所述页面需要加载的多个组件信息以及组件加载的排列顺序;所述多个组件信息对应的组件是依次按照所述组件排列顺序进行加载的;
根据所述组件排列顺序在所述页面组件列表中确定当前加载的目标组件,并在所述组件配置信息中获取所述目标组件的URL;
当禁用组件集合不包括所述目标组件的URL时,采用所述目标组件的URL对所述目标组件进行加载,所述禁用组件集合为缓存中包含禁用组件的URL列表;
当所述目标组件加载失败时,将所述目标组件的URL添加至所述禁用组件集合,并重新加载所述页面;重新加载所述页面的过程中不再对所述目标组件进行加载。
CN201810252767.1A 2018-03-26 2018-03-26 页面组件加载方法及装置、电子设备、存储介质 Active CN110362416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810252767.1A CN110362416B (zh) 2018-03-26 2018-03-26 页面组件加载方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810252767.1A CN110362416B (zh) 2018-03-26 2018-03-26 页面组件加载方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN110362416A CN110362416A (zh) 2019-10-22
CN110362416B true CN110362416B (zh) 2022-03-25

Family

ID=68212086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810252767.1A Active CN110362416B (zh) 2018-03-26 2018-03-26 页面组件加载方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN110362416B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110989987B (zh) * 2019-12-04 2024-03-01 北京小米移动软件有限公司 一种门户网页的生成方法、装置、客户端、服务器及存储介质
CN111475381B (zh) * 2020-04-03 2021-08-20 支付宝(杭州)信息技术有限公司 页面渲染检测方法以及装置
CN113141621B (zh) * 2021-04-09 2023-04-28 维沃移动通信有限公司 代理配置方法、代理配置装置和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102449634A (zh) * 2009-07-01 2012-05-09 松下电器产业株式会社 安全引导方法和安全引导装置
CN102541629A (zh) * 2010-09-14 2012-07-04 微软公司 附加元件性能顾问
CN104021016A (zh) * 2014-06-13 2014-09-03 北京奇虎科技有限公司 加载浏览器插件图标的方法及浏览器
CN106201811A (zh) * 2016-07-06 2016-12-07 青岛海信宽带多媒体技术有限公司 应用程序的故障恢复方法和终端
CN107302628A (zh) * 2017-05-27 2017-10-27 广东欧珀移动通信有限公司 应用功能的控制方法及相关产品

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137020B2 (en) * 2002-05-17 2006-11-14 Sun Microsystems, Inc. Method and apparatus for disabling defective components in a computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102449634A (zh) * 2009-07-01 2012-05-09 松下电器产业株式会社 安全引导方法和安全引导装置
CN102541629A (zh) * 2010-09-14 2012-07-04 微软公司 附加元件性能顾问
CN104021016A (zh) * 2014-06-13 2014-09-03 北京奇虎科技有限公司 加载浏览器插件图标的方法及浏览器
CN106201811A (zh) * 2016-07-06 2016-12-07 青岛海信宽带多媒体技术有限公司 应用程序的故障恢复方法和终端
CN107302628A (zh) * 2017-05-27 2017-10-27 广东欧珀移动通信有限公司 应用功能的控制方法及相关产品

Also Published As

Publication number Publication date
CN110362416A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
US11467952B2 (en) API driven continuous testing systems for testing disparate software
CN108196878B (zh) 应用程序安装包的生成方法、装置、电子设备及存储介质
CN110362416B (zh) 页面组件加载方法及装置、电子设备、存储介质
US7536599B2 (en) Methods and systems for validating a system environment
CN111258913A (zh) 算法自动测试方法、装置、计算机系统及可读存储介质
CN111459495A (zh) 单元测试代码文件生成方法、电子装置及存储介质
CN108804315B (zh) 应用于动态开发的测试方法、装置、电子设备及存储介质
CN110888801A (zh) 软件程序的测试方法和装置、存储介质和电子设备
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN111367531A (zh) 代码处理方法及装置
CN112732358B (zh) 一种航天器控制脚本的编写方法和装置
CN115617780A (zh) 数据导入方法、装置、设备及存储介质
CN112131127B (zh) 接口测试方法、装置、系统及电子设备
JP7230951B2 (ja) 携帯端末、情報処理システム、制御方法、及びプログラム
CN110096281B (zh) 代码解析方法、解析服务器、存储介质及装置
CN112596751A (zh) 应用程序安装包的编译方法、终端、服务器及存储介质
CN112558982A (zh) 代码检测方法、装置及计算机设备
CN112667491A (zh) 虚拟机的功能测试方法及装置
CN110704483A (zh) 用户路由流程定位方法、设备、存储介质及装置
EP2597568A1 (en) Method and device for improving performance of mobile widget
CN114995861B (zh) 一种基于weex的应用程序更新方法、存储介质及电子设备
CN113608996B (zh) 一种镜像编译测试方法、系统、装置及可读存储介质
CN116909599A (zh) 发动机下线软件升级方法、装置、设备及存储介质
CN116991735A (zh) 前端组件变更的测试系统、方法、装置、设备及存储介质
CN110247966B (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