CN111639278B - 一种网页加载方法及装置 - Google Patents
一种网页加载方法及装置 Download PDFInfo
- Publication number
- CN111639278B CN111639278B CN202010452643.5A CN202010452643A CN111639278B CN 111639278 B CN111639278 B CN 111639278B CN 202010452643 A CN202010452643 A CN 202010452643A CN 111639278 B CN111639278 B CN 111639278B
- Authority
- CN
- China
- Prior art keywords
- component
- browser
- server
- webpage
- resources
- 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
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 90
- 238000009877 rendering Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 50
- 238000004590 computer program Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 230000006872 improvement Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书公开了一种网页加载方法及装置,服务器可先接收浏览器发送的网页加载请求,并根据该网页加载请求中的网页地址,向该浏览器返回对应网页的主体框架以及该网页中若干异步组件的组件标识,之后分别接收该浏览器发送的用于获取组件资源的各获取请求,并根据各获取请求中的组件标识以及浏览器属性,从预先存储的组件资源中,确定与该浏览器兼容的异步组件的组件资源,并返回至该浏览器,使该浏览器进行组件渲染。通过将网页中的主体框架以及若干异步组件的组件资源分别进行发送,并根据该浏览器属性,向该浏览器返回可兼容的组件资源,使该浏览器无需下载不必要的页面资源即可展示该网页,减少了浏览器所需下载的数据量,节省了存储空间。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种网页加载方法及装置。
背景技术
由于目前浏览器的开发没有完全统一的标准,不同浏览器采用的内核不同(例如:IE浏览器采用Trident内核,而Chrome浏览器采用Blink内核),支持的应用程序接口(Application Programming Interface,API)也不同。因此当在浏览器中运行网页代码时,若该浏览器不支持该网页代码中调用的API,则会导致网页加载出现不兼容的情况。
在现有技术中,为了解决浏览器不支持网页代码中调用的API导致的不兼容问题。开发人员针对浏览器不支持的API,根据浏览器内核、版本以及对网页语法的解释等,编写对应的补丁代码,并添加至网页代码中。使得网页与浏览器不兼容的情况下,浏览器在运行网页代码时,可以通过该补丁代码实现原本调用API接口相同的功能。于是,服务器在接收到用户通过浏览器发送的访问请求时,会向该浏览器返回包含该补丁代码的网页代码,以保证该网页与用户使用的浏览器兼容,可在用户使用的浏览器中运行。
发明内容
本说明书实施例提供一种网页加载方法及装置,用于部分解决现有技术中当用户使用的浏览器与该网页兼容时,仍需下载不必要的补丁代码,造成资源浪费。
本说明书实施例采用下述技术方案:
本说明书提供的一种网页加载方法,包括:
服务器接收浏览器发送的网页加载请求;
根据所述网页加载请求中的网页地址,确定对应所述网页地址的网页的主体框架以及若干异步组件的组件标识,并返回给所述浏览器,以使所述浏览器根据所述主体框架进行渲染,其中,所述网页基于主体框架和若干异步组件构建,所述主体框架中携带有所述若干异步组件的组件标识;
分别接收所述浏览器发送的包含浏览器属性以及组件标识的各获取请求;
针对接收到的每个获取请求,根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源;
将确定出的组件资源返回至所述浏览器,以使所述浏览器根据接收到的组件资源进行组件渲染。
可选地,所述浏览器属性包含浏览器内核以及浏览器版本;
根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源,具体包括:
根据预设的组件兼容规则,确定所述浏览器属性对应的兼容组件列表;
判断所述组件标识对应的异步组件是否在所述兼容组件列表中;
若是,则确定所述异步组件的通用组件资源;
若否,则从所述异步组件对应的各兼容组件资源中,确定与所述浏览器属性兼容的兼容组件资源,其中,针对不同浏览器属性进行兼容性处理后得到的兼容组件资源不完全相同。
可选地,所述浏览器属性包含浏览器内核以及浏览器版本;
根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源,具体包括:
根据预设的组件兼容规则,确定所述浏览器属性对应的兼容组件列表;
判断所述组件标识对应的异步组件是否在所述兼容组件列表中;
若是,则确定所述异步组件的通用组件资源;
若否,则确定所述异步组件的兼容组件资源,其中,针对不同浏览器属性进行兼容性处理后得到的兼容组件资源相同。
可选地,所述服务器包括:提供主体框架的第一子服务器,以及提供组件资源的若干第二子服务器,其中,不同第二子服务器提供不同组件标识的组件资源。
可选地,根据预设的组件兼容规则、该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源,具体包括:
所述第一子服务器根据该获取请求中的组件标识以及该获取请求中的浏览器属性,确定所述组件标识对应的组件资源地址,并返回至所述浏览器;
所述第二子服务器接收所述浏览器发送的包含组件资源地址的组件资源获取请求,并从所述组件资源地址获取与所述浏览器兼容的组件资源。
本说明书提供的另一种网页加载方法,包括:
浏览器向服务器发送携带网页地址的网页加载请求,所述网页地址对应的网页基于主体框架和若干异步组件构建;
接收所述服务器返回的对应所述网页的主体框架以及若干异步组件的组件标识,并根据所述主体框架进行渲染;
分别向所述服务器发送包含浏览器属性以及组件标识的各获取请求;
接收所述服务器返回的各组件资源,所述组件资源为所述服务器根据所述获取请求中的组件标识以及所述获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定出的与所述浏览器兼容的组件资源;
根据接收到的各组件资源进行组件渲染。
可选地,所述服务器包括:提供主体框架的第一子服务器,以及提供组件资源的若干第二子服务器,其中,不同第二子服务器提供不同组件标识的组件资源;
接收所述服务器返回的各组件资源,具体包括:
接收所述第一子服务器分别返回的对应各获取请求的组件资源地址;
针对接收到的每个组件资源地址,根据该组件资源地址确定组件资源获取请求,以及该组件资源地址对应的第二子服务器;
向该组件资源地址对应的第二子服务器发送所述组件资源获取请求,使所述第二子服务器根据所述组件资源地址确定组件资源;
接收所述第二子服务器返回的组件资源。
本说明书提供一种网页加载装置,包括:
第一接收模块,其配置用于服务器接收浏览器发送的网页加载请求;
第一确定模块,其配置用于根据所述网页加载请求中的网页地址,确定对应所述网页地址的网页的主体框架以及若干异步组件的组件标识,并返回给所述浏览器,以使所述浏览器根据所述主体框架进行渲染,其中,所述网页基于主体框架和若干异步组件构建,所述主体框架中携带有所述若干异步组件的组件标识;
第二接收模块,其配置用于分别接收所述浏览器发送的包含浏览器属性以及组件标识的各获取请求;
第二确定模块,其配置用于针对接收到的每个获取请求,根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源;
返回模块,其配置用于将确定出的组件资源返回至所述浏览器,以使所述浏览器根据接收到的组件资源进行组件渲染。
本说明书提供的另一种网页加载装置,包括:
第一发送模块,其配置用于浏览器向服务器发送携带网页地址的网页加载请求,所述网页地址对应的网页基于主体框架和若干异步组件构建;
第一接收模块,其配置用于接收所述服务器返回的对应所述网页的主体框架以及若干异步组件的组件标识,并根据所述主体框架进行渲染;
第二发送模块,其配置用于分别向所述服务器发送包含浏览器属性以及组件标识的各获取请求;
第二接收模块,其配置用于接收所述服务器返回的各组件资源,所述组件资源为所述服务器根据所述获取请求中的组件标识以及所述获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定出的与所述浏览器兼容的组件资源;
渲染模块,其配置用于根据接收到的各组件资源进行组件渲染。
本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述网页加载方法。
本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述网页加载方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
在网页加载的过程中,服务器可先接收浏览器发送的网页加载请求,并根据该网页加载请求中的网页地址,向该浏览器返回对应网页的主体框架以及该网页中若干异步组件的组件标识,使该浏览器对该网页的主体框架进行渲染,之后可分别接收该浏览器发送的用于获取各异步组件的组件资源的获取请求,根据该获取请求中的组件标识以及浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与该浏览器兼容的组件资源,并返回至该浏览器,使该浏览器对该网页中各异步组件进行组件渲染。通过将网页中的主体框架以及若干异步组件分别进行发送,并根据该浏览器的浏览器属性,向该浏览器返回可兼容的组件资源,使该浏览器无需下载不必要的页面资源即可展示该网页,减少了浏览器所需下载的数据量,节省了存储空间。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种网页加载流程的示意图;
图2为本说明书实施例提供的网页加载过程中多方交互的示意图;
图3为本说明书实施例提供的另一种网页加载流程的示意图;
图4为本说明书实施例提供的一种网页加载的装置的结构示意图;
图5为本说明书实施例提供的另一种网页加载的装置的结构示意图;
图6为本说明书实施例提供的实现网页加载方法的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中还存在的另一种网页加载方法,浏览器可向服务器发送网页加载请求,并在该网页加载请求的请求头信息中的user-agent中携带该浏览器的浏览器属性。以使该服务器在接收到该浏览器发送的网页加载请求后,可根据该请求头信息中携带的浏览器属性,判断该浏览器与该网页加载请求对应的网页是否兼容,若兼容则下发常规的网页代码,否则下发带有补丁代码的网页代码。但服务器进行判断过程需要耗费时间,不能及时下发该网页的网页代码,导致网页加载缓慢,用户等待时间延长,可能会反复进行页面刷新,导致多次发送相同的网页加载请求,造成资源浪费。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例提供的一种网页加载方法,具体可包括以下步骤:
S100:服务器接收浏览器发送的网页加载请求。
通常用户通过浏览器访问网页时,浏览器可根据用户操作(例如,点击图标、输入文本内容等),确定该用户需要访问的网页地址,并根据该网页地址,从对应的服务器加载该网页的页面资源,以进行渲染,向用户展示该网页。
具体的,服务器可接收该浏览器发送的网页加载请求,以根据该网页加载请求,向该浏览器返回页面资源,使浏览器根据该页面资源渲染网页并进行展示。其中,该网页加载请求中包含用户输入的网页地址,即该网页的统一资源定位符(Uniform ResourceLocator,URL)。
此外,在服务器接收浏览器发送的网页加载请求之前,服务器还需先与该浏览器建立通信连接。具体的,建立通信连接的过程如下:浏览器向服务器发送连接请求。服务器接收到该连接请求后,可根据该连接请求,向该浏览器返回第一确认信息。之后浏览器可根据该第一确认信息,再次向该服务器发送第二确认信息,服务器接收到该第二确认信息后,可确定与该浏览器建立通信连接。
S102:根据所述网页加载请求中的网页地址,确定对应所述网页地址的主体框架以及若干异步组件的组件标识,并返回给所述浏览器,以使所述浏览器根据所述主体框架进行渲染。
由于网页与浏览器出现不兼容的情况,通常是因为该浏览器中不存在该网页代码调用的接口,或不支持该网页代码中编写的接口调用方式。而各接口的调用通常存在于网页中的各组件中。因此在本说明书实施例中,可将该网页的页面资源分为主体框架以及若干异步组件的组件资源,以当加载网页中的异步组件时,根据浏览器属性,加载该浏览器兼容的组件资源。
其中,主体框架指的是构成网页最基本的网页代码,异步组件为与主体框架分开加载的组件,包含功能实现的超文本标记语言(Hyper Text Markup Language,HTML)结构、层叠样式表(Cascading Style Sheets,CSS)样式以及java script逻辑,可独立开发。
在本说明书实施例中,具体的,服务器可根据接收到的网页加载请求中的网页URL,从本地存储的各网页的页面资源中确定该网页URL对应的页面资源,并将该网页的页面资源中的主体框架返回给该浏览器,以使该浏览器根据接收到的主体框架先进行渲染,并在浏览器窗口中进行展示。其中,该网页的主体框架中携带有该网页中每个异步组件的组件标识。
S104:接收所述浏览器发送的包含浏览器属性以及组件标识的各获取请求。
在本说明书实施例中,具体的,浏览器在运行主体框架的代码的过程中,可确定该主体框架中包含的各异步组件的组件标识,并分别针对每个异步组件的组件标识,向该服务器发送携带该浏览器属性以及组件标识的获取请求,以获取该异步组件的组件资源。该服务器可分别接收该浏览器发送的每个获取请求,以确定每个获取请求对应的组件资源。其中,浏览器属性包含浏览器的内核以及浏览器的版本。
S106:针对接收到的每个获取请求,根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源。
在本说明书实施例中,当服务器接收到浏览器发送的用于获取异步组件的组件资源的各获取请求后,可分别确定各获取请求对应的组件资源,以返回至该浏览器。
具体的,针对接收到的该浏览器发送的每个获取请求,该服务器可先根据预设的组件兼容规则以及该获取请求中包含的浏览器属性,确定该浏览器属性对应的兼容组件列表。由于异步组件对应有通用组件资源以及兼容组件资源,通用组件资源为常规的组件代码,适用于常规可兼容的浏览器。兼容组件资源为针对不兼容的各浏览器,根据该浏览器的浏览器属性,编写的适配该浏览器属性的组件代码,以使加载的该网页的页面资源的数据量最小。服务器可针对该获取请求,根据该浏览器属性对应的兼容组件列表,确定是否可以返回常规的通用组件资源。
其中,该预设的组件兼容规则可根据各浏览器属性是否支持该网页的异步组件中调用的各API设定。如表1所示,表1为浏览器属性与API的兼容关系表,其中,浏览器属性为A的浏览器,可兼容API有a、b、c、d。浏览器属性为B的浏览器,可兼容API有b、c、d、e。浏览器属性为C的浏览器,可兼容API有a、c、d、f。
之后可根据该表1以及各异步组件中调用的接口,确定组件兼容规则,如表2所示,异步组件1~3为实现不同功能的异步组件,表2第一行展示的是异步组件1~3的通用组件资源需要调用的API,如异步组件1的通用组件资源需要调用a、f接口,异步组件2的通用组件资源需要调用b、f接口,异步组件3的通用组件资源需要调用b、e接口。针对异步组件1,该异步组件1的通用组件资源需要调用a、f接口,根据表1中各浏览器属性与各API的兼容关系,可确定如表2所示的各浏览器属性与异步组件1的兼容关系,进一步可确定当浏览器属性为C时,可向该浏览器返回异步组件1的通用组件资源,当浏览器属性为A、B时,则需向该浏览器返回异步组件1的兼容组件资源。同理,可确定异步组件2、异步组件3与各浏览器属性的兼容关系。
假设该浏览器的浏览器属性为A,则根据表2所示的组件兼容规则,可确定该浏览器属性A对应的兼容组件列表,如表3所示。
浏览器属性 | 兼容的API |
A | a、b、c、d |
B | b、c、d、e |
C | a、c、d、f |
表1
表2
浏览器属性 | 兼容的异步组件 |
A | 异步组件3 |
表3
之后再判断该获取请求中包含的组件标识对应的异步组件是否在该兼容组件列表中,若是,则说明该浏览器可以兼容该异步组件的通用组件资源,于是可确定该异步组件的通用组件资源,用于后续返回该浏览器。若否,则说明该浏览器与该异步组件的通用组件资源不兼容,需要获取该异步组件的兼容组件资源,因此可从预先编写的对应各浏览器属性的各兼容组件资源中,确定与该浏览器属性兼容的兼容组件资源。
其中,针对不同浏览器属性进行兼容性处理后,得到的兼容组件资源不完全相同。例如,假设异步组件n与浏览器属性为Y的浏览器兼容,与浏览器属性为W和Z的浏览器不兼容,则针对该异步组件n,若该浏览器属性为Y,则向该浏览器下发通用组件资源。若该浏览器属性为W,则从该异步组件分别对应浏览器属性W和浏览器属性Z的各兼容组件资源中,确定与该浏览器属性W对应的兼容组件资源。
进一步地,在本说明书实施例中,该服务器还可根据接收到的获取请求中的浏览器版本以及浏览器内核,重新确定该浏览器的浏览器属性,再根据该浏览器属性,则从预先编写的对应各浏览器属性的各兼容组件资源中,确定与该浏览器属性兼容的兼容组件资源。例如,假设某浏览器的浏览器内核为H,针对该浏览器的不同版本1.1,1.2以及1.3,其支持调用相同的接口,即,兼容的组件相同,则可认为该三种不同的浏览器的浏览器属性相同。
S108:将确定出的组件资源返回至所述浏览器,以使所述浏览器根据接收到的所述组件资源进行组件渲染。
在本说明书实施例中,服务器确定出与该浏览器兼容的组件资源后,可将该组件资源返回给该浏览器,以使该浏览器根据该组件资源进行组件渲染。
具体的,该服务器可将确定出的组件资源返回至该浏览器,以使该浏览器通过桥接模块将该组件资源组装至主体框架中,并进行组件渲染。
基于图1所示的网页加载方法,在网页加载的过程中,服务器可先接收浏览器发送的网页加载请求,并根据该网页加载请求中的网页地址,向该浏览器返回对应网页的主体框架以及该网页中若干异步组件的组件标识,使该浏览器对该网页的主体框架进行渲染,之后分别接收该浏览器发送的用于获取该网页中各异步组件的组件资源的获取请求,根据该获取请求中的组件标识以及浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与该浏览器兼容的组件资源,并返回至该浏览器,使该浏览器对该网页中各异步组件进行组件渲染。通过将网页中的主体框架以及若干异步组件分别进行发送,并根据该浏览器的浏览器属性,向该浏览器返回可兼容的组件资源,使该浏览器无需下载不必要的页面资源即可展示该网页,减少了浏览器所需下载的数据量,节省了存储空间。
且在本说明书实施例中,为避免服务器进行判断耗费时间,导致网页加载缓慢,可先根据该网页加载请求向该浏览器返回该网页的主体框架,使该浏览器先渲染该网页的主体框架,并展示在浏览器窗口中。之后可接收该浏览器在渲染主体框架的同时发送的获取请求,并根据该获取请求中包含的浏览器属性,向该浏览器返回可兼容的组件资源。
在本说明书实施例中,在构建网页时,也可根据预先根据各组件中调用的接口与各浏览器不支持调用的接口,确定可能出现不兼容的各组件以及全部兼容的各组件。则可将可能出现不兼容的各组件设置为异步组件,将全部兼容的各组件设置为同步组件。其中,同步组件可与该网页中的主体框架同步加载,异步组件则单独加载。
进一步地,在本说明书步骤S106中,当判断该组件标识对应的异步组件不在该兼容组件列表中时,即,该浏览器与该异步组件不兼容,也可确定该异步组件的兼容组件资源,其中,该兼容组件资源为针对不兼容的浏览器内核以及版本统一编写的带有补丁代码的组件代码,可在各不兼容的浏览器中运行。例如:针对某异步组件m,该异步组件m有不带补丁代码的通用组件资源以及带有补丁代码的兼容组件资源,若浏览器X与该异步组件m兼容,则向该浏览器X下发不带补丁代码的通用组件资源,若浏览器X与该异步组件m不兼容,则向该浏览器X下发带有补丁代码的兼容组件资源。
更进一步地,在本说明书步骤S106中,该服务器在接收到该获取请求后,便可根据该获取请求中的浏览器属性,从该异步组件对应的各兼容组件资源中,确定对应该浏览器属性的兼容组件资源。其中,该组件兼容规则如表4所示,浏览器属性A对应的浏览器与异步组件1的兼容组件资源11兼容,浏览器属性B对应的浏览器与异步组件1的兼容组件资源12兼容,浏览器属性C对应的浏览器与异步组件1的兼容组件资源13兼容。
浏览器属性 | 异步组件1 |
A | 兼容组件资源11 |
B | 兼容组件资源12 |
C | 兼容组件资源13 |
表4
此外,在本说明书实施例中,执行图1所示网页加载方法的服务器既可以是单个服务器,也可以是若干服务器组成的系统,例如:分布式服务器等。当执行该网页加载方法的服务器为若干服务器组成的系统时,该网页的主体框架与网页中各异步组件的组件资源可分别由不同的服务器提供。可将提供主体框架的服务器作为第一子服务器,并将提供组件资源的服务器作为第二子服务器,由于网页中可存在若干异步组件,提供不同异步组件的组件资源的第二子服务器可以相同也可以不同。当存在若干第二子服务器时,不同第二子服务器提供不同组件标识的组件资源。
则对应在本说明书实施例中,可由第一子服务器执行步骤S100-步骤S104,并且在本说明书步骤S106中,针对接收到的每个获取请求,可由第一子服务器根据预设的组件兼容规则、该获取请求中的组件标识以及该获取请求中的浏览器属性,确定该组件标识对应的组件资源在第二子服务器中的组件资源地址,并返回至该浏览器,以使该浏览器根据该组件资源地址,确定提供对应组件资源的第二子服务器,并向该第二子服务器发送组件资源获取请求。该第二子服务器可接收该浏览器发送的包含组件资源地址的组件资源获取请求,并从该组件资源地址获取与该浏览器兼容的组件资源。且由该第二子服务器执行步骤S108,将该组件资源返回至该浏览器,使该浏览器根据接收到的组件资源进行组件渲染。
另外,在本说明书实施例中,该浏览器与该网页是否兼容可能还与该浏览器所处的系统环境有关,因此,浏览器向服务器发送携带浏览器属性的获取请求时,还可携带该浏览器所处的系统的系统信息。
在本说明书实施例中,假设该网页中只有一个异步组件,且提供主体框架与提供组件资源的服务器不同,则网页加载的过程如图2所示。
第一步:第一子服务器接收浏览器发送的网页加载请求。
第二步:该第一子服务器返回网页的主体框架以及该网页中若干异步组件的组件标识。
第三步:第二子服务器接收该浏览器发送的携带组件标识以及浏览器属性的组件资源获取请求。
第四步:该第二子服务器向该浏览器返回对应该浏览器属性的组件资源。
另外,在本说明书中,第二子服务器可以是第三方的服务器,例如,该第三方可以是专门进行组件开发的公司。并且,该第三方可针对每种浏览器属性对应开发同一异步组件不同版本的组件资源,并将各版本的组件资源的组件资源地址以及各版本的组件资源的组件资源地址与浏览器属性的对应关系返回该第一子服务器,第一子服务器可存储各组件资源地址与浏览器属性的对应关系,并在步骤S106中针对接收到的每个获取请求,可根据该获取请求中包含的浏览器属性以及本地存储的组件资源地址与浏览器属性的对应关系,确定需要向浏览器返回的组件资源地址。
基于图1所示的网页加载方法,本说明书还对应提供浏览器侧执行的网页加载方法。本说明书提供的另一种网页加载流程示意图,如图3所示,具体可包括以下步骤:
S200:浏览器向服务器发送携带网页地址的网页加载请求。
用户通过浏览器访问网页时,需要先在该浏览器中输入访问的网页地址,该浏览器根据接收到的网页地址,确定该网页地址对应的服务器,并向该服务器发送网页加载请求,以获取所需加载的网页的页面资源。
具体的,浏览器接收到用户输入的网页地址后,可根据接收到的网页地址,确定该网页地址对应的服务器,并向该服务器发送携带网页地址的网页加载请求,以通过后续步骤加载网页。其中,该网页地址对应的网页是基于主体框架和若干异步组件构建的。在向服务器发送该网页加载请求之前,该浏览器与该服务器还需通过三次握手机制建立通信连接,具体连接过程在上述步骤S100中进行了详细说明,本说明书在此不再赘述。
S202:接收所述服务器返回的对应所述网页的主体框架以及若干异步组件的组件标识,并根据所述主体框架进行渲染。
在本说明书实施例中,浏览器通过步骤S200向服务器发送网页加载请求后,可根据该服务器返回的网页的页面资源,进行渲染展示。
具体的,该浏览器可接收该服务器返回的对应该网页的主体框架以及该网页的若干异步组件的组件标识,并根据接收到的主体框架进行渲染。其中,该网页的若干异步组件的组件标识携带在该网页的主体框架中。
S204:分别向所述服务器发送包含浏览器属性以及组件标识的各获取请求。
在本说明书实施例中,该浏览器在渲染网页的主体框架的过程中,可先确定该网页中包含的各异步组件的组件标识,并分别针对确定出的每个异步组件的组件标识,向该服务器发送携带该浏览器属性以及组件标识的获取请求,以获取该异步组件的组件资源。其中,浏览器属性包含浏览器的内核以及浏览器的版本。
S206:接收所述服务器返回的各组件资源,所述组件资源为所述服务器根据所述获取请求中的组件标识以及所述获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定出的与所述浏览器兼容的组件资源。
在本说明书实施例中,为了减少该浏览器加载的数据量,避免下载不必要的页面资源。该浏览器可分别向该服务器发送包含该浏览器的浏览器属性以及所需加载的网页中的各异步组件的组件标识的各获取请求,以接收该服务器返回的与该浏览器兼容的组件资源。
具体的,终端可接收该服务器返回的各组件资源,其中,该服务器根据各获取请求,确定返回的各组件资源的具体过程在上述步骤S106中进行了详细说明,本说明书在此不再赘述。
S208:根据接收到的各组件资源进行组件渲染。
在本说明书实施例中,浏览器接收到各异步组件的组件资源后,可依次针对每个组件资源,通过桥接模块将各组件资源组装至主体框架中,并当需要展示该异步组件时,根据该异步组件的组件资源,进行组件渲染。
基于图3所示的网页加载方法,在网页加载的过程中,浏览器可先向服务器发送携带网页地址的网页加载请求,之后接收该服务器返回的对应该网页加载请求中网页地址的主体框架以及若干异步组件的组件标识,并渲染该网页的主体框架,然后分别向该服务器发送包含该浏览器的浏览器属性以及需要加载的网页中的各异步组件的组件标识的各获取请求,并接收该服务器返回的各组件资源,以根据接收到的各组件资源进行组件渲染。通过将网页中的主体框架以及若干异步组件分别进行发送,并根据该浏览器的浏览器属性,向该浏览器返回可兼容的组件资源,使该浏览器无需下载不必要的页面资源即可展示该网页,减少了浏览器所需下载的数据量,节省了存储空间。
此外,在本说明书实施例中,执行图3所示网页加载方法的服务器既可以是单个服务器,也可以是若干服务器组成的系统,例如:分布式服务器等。当执行该网页加载方法的服务器为若干服务器组成的系统时,该网页的主体框架与网页中各异步组件的组件资源可分别由不同的服务器提供。可将提供主体框架的服务器作为第一子服务器,并将提供组件资源的服务器作为第二子服务器,由于网页中可存在若干异步组件,提供不同异步组件的组件资源的第二子服务器可以相同也可以不同。当存在若干第二子服务器时,不同第二子服务器提供不同组件标识的组件资源。
则对应在本说明书实施例中,该浏览器可向该第一子服务器发送网页加载请求,并接收该第一子服务器返回的该网页的主体框架以及若干异步组件的组件标识,之后可再向该第一子服务器发送包含浏览器属性以及组件标识的各获取请求,以接收该第一子服务器分别返回的对应各获取请求的组件资源地址,然后针对接收到的每个组件资源地址,该浏览器可根据该组件资源地址确定组件资源获取请求以及该组件资源地址对应的第二子服务器,并向该第二子服务器发送组件资源获取请求,使该第二子服务器根据该组件资源地址确定组件资源,最后接收该第二子服务器返回的组件资源,进行组件渲染。
基于图1所示的网页加载方法,本说明书实施例还对应提供一种网页加载装置的结构示意图,如图4所示。
图4为本说明书实施例提供的一种网页加载装置的结构示意图,所述装置包括:
第一接收模块300,其配置用于服务器接收浏览器发送的网页加载请求;
第一确定模块302,其配置用于根据所述网页加载请求中的网页地址,确定对应所述网页地址的网页的主体框架以及若干异步组件的组件标识,并返回给所述浏览器,以使所述浏览器根据所述主体框架进行渲染,其中,所述网页基于主体框架和若干异步组件构建,所述主体框架中携带有所述若干异步组件的组件标识;
第二接收模块304,其配置用于分别接收所述浏览器发送的包含浏览器属性以及组件标识的各获取请求;
第二确定模块306,其配置用于针对接收到的每个获取请求,根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源;
返回模块308,其配置用于将确定出的组件资源返回至所述浏览器,以使所述浏览器根据接收到的组件资源进行组件渲染。
可选地,所述浏览器属性包含浏览器内核以及浏览器版本,所述第二确定模块306具体用于:根据所述组件兼容规则,确定所述浏览器属性对应的兼容组件列表,判断所述组件标识对应的异步组件是否在所述兼容组件列表中,若是,则确定所述异步组件的通用组件资源,若否,则从所述异步组件对应的各兼容组件资源中,确定与所述浏览器属性兼容的兼容组件资源,其中,针对不同浏览器属性进行兼容性处理后得到的兼容组件资源不完全相同。
可选地,所述浏览器属性包含浏览器内核以及浏览器版本,所述第二确定模块306具体用于:根据所述组件兼容规则,确定所述浏览器属性对应的兼容组件列表,判断所述组件标识对应的异步组件是否在所述兼容组件列表中,若是,则确定所述异步组件的通用组件资源,若否,则确定所述异步组件的兼容组件资源,其中,针对不同浏览器属性进行兼容性处理后得到的兼容组件资源相同。
可选地,所述服务器包括:提供主体框架的第一子服务器,以及提供组件资源的若干第二子服务器,其中,不同第二子服务器提供不同组件标识的组件资源。
可选地,所述第二确定模块306具体用于:所述第一子服务器根据该获取请求中的组件标识以及该获取请求中的浏览器属性,确定所述组件标识对应的组件资源地址,并返回至所述浏览器,所述第二子服务器接收所述浏览器发送的包含组件资源地址的组件资源获取请求,并从所述组件资源地址获取与所述浏览器兼容的组件资源。
基于图3所示的网页加载方法,本说明书实施例还对应提供一种网页加载装置的结构示意图,如图5所示。
图5为本说明书实施例提供的一种网页加载装置的结构示意图,所述装置包括:
第一发送模块400,其配置用于浏览器向服务器发送携带网页地址的网页加载请求,所述网页地址对应的网页基于主体框架和若干异步组件构建;
第一接收模块402,其配置用于接收所述服务器返回的对应所述网页的主体框架以及若干异步组件的组件标识,并根据所述主体框架进行渲染;
第二发送模块404,其配置用于分别向所述服务器发送包含浏览器属性以及组件标识的各获取请求;
第二接收模块406,其配置用于接收所述服务器返回的各组件资源,所述组件资源为所述服务器根据所述获取请求中的组件标识以及所述获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定出的与所述浏览器兼容的组件资源;
渲染模块408,其配置用于根据接收到的各组件资源进行组件渲染。
可选地,所述第二接收模块406具体用于:接收所述第一子服务器分别返回的对应各获取请求的组件资源地址,针对接收到的每个组件资源地址,根据该组件资源地址确定组件资源获取请求,以及该组件资源地址对应的第二子服务器,向该组件资源地址对应的第二子服务器发送所述组件资源获取请求,使所述第二子服务器根据所述资源地址确定组件资源,接收所述第二子服务器返回的组件资源。
本说明书实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1或图3提供的网页加载方法。
基于图1或图3所示的网页加载方法,本说明书实施例还提出了图6所示的电子设备的示意结构图。如图6,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1或图3所示的网页加载方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (11)
1.一种网页加载方法,其特征在于,包括:
服务器接收浏览器发送的网页加载请求;
根据所述网页加载请求中的网页地址,确定对应所述网页地址的网页的主体框架以及若干异步组件的组件标识,并返回给所述浏览器,以使所述浏览器根据所述主体框架进行渲染,其中,所述网页基于主体框架和若干异步组件构建,所述主体框架中携带有所述若干异步组件的组件标识,所述异步组件为与主体框架分开加载的组件,包含功能实现的超文本标记语言HTML结构、层叠样式表CSS样式以及java script逻辑;
分别接收所述浏览器发送的包含浏览器属性以及组件标识的各获取请求;
针对接收到的每个获取请求,根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源;
将确定出的组件资源返回至所述浏览器,以使所述浏览器根据接收到的组件资源进行组件渲染。
2.如权利要求1所述的方法,其特征在于,所述浏览器属性包含浏览器内核以及浏览器版本;
根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源,具体包括:
根据预设的组件兼容规则,确定所述浏览器属性对应的兼容组件列表;
判断所述组件标识对应的异步组件是否在所述兼容组件列表中;
若是,则确定所述异步组件的通用组件资源;
若否,则从所述异步组件对应的各兼容组件资源中,确定与所述浏览器属性兼容的兼容组件资源,其中,针对不同浏览器属性进行兼容性处理后得到的兼容组件资源不完全相同。
3.如权利要求1所述的方法,其特征在于,所述浏览器属性包含浏览器内核以及浏览器版本;
根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源,具体包括:
根据预设的组件兼容规则,确定所述浏览器属性对应的兼容组件列表;
判断所述组件标识对应的异步组件是否在所述兼容组件列表中;
若是,则确定所述异步组件的通用组件资源;
若否,则确定所述异步组件的兼容组件资源,其中,针对不同浏览器属性进行兼容性处理后得到的兼容组件资源相同。
4.如权利要求1所述的方法,其特征在于,所述服务器包括:提供主体框架的第一子服务器,以及提供组件资源的若干第二子服务器,其中,不同第二子服务器提供不同组件标识的组件资源。
5.如权利要求4所述的方法,其特征在于,根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源,具体包括:
所述第一子服务器根据该获取请求中的组件标识以及该获取请求中的浏览器属性,确定所述组件标识对应的组件资源地址,并返回至所述浏览器;
所述第二子服务器接收所述浏览器发送的包含组件资源地址的组件资源获取请求,并从所述组件资源地址获取与所述浏览器兼容的组件资源。
6.一种网页加载方法,其特征在于,包括:
浏览器向服务器发送携带网页地址的网页加载请求,所述网页地址对应的网页基于主体框架和若干异步组件构建,所述主体框架中携带有所述若干异步组件的组件标识,所述异步组件为与主体框架分开加载的组件,包含功能实现的超文本标记语言HTML结构、层叠样式表CSS样式以及java script逻辑;
接收所述服务器返回的对应所述网页的主体框架以及若干异步组件的组件标识,并根据所述主体框架进行渲染;
分别向所述服务器发送包含浏览器属性以及组件标识的各获取请求;
接收所述服务器返回的各组件资源,所述组件资源为所述服务器根据所述获取请求中的组件标识以及所述获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定出的与所述浏览器兼容的组件资源;
根据接收到的各组件资源进行组件渲染。
7.如权利要求6所述的方法,其特征在于,所述服务器包括:提供主体框架的第一子服务器,以及提供组件资源的若干第二子服务器,其中,不同第二子服务器提供不同组件标识的组件资源;
接收所述服务器返回的各组件资源,具体包括:
接收所述第一子服务器分别返回的对应各获取请求的组件资源地址;
针对接收到的每个组件资源地址,根据该组件资源地址确定组件资源获取请求,以及该组件资源地址对应的第二子服务器;
向该组件资源地址对应的第二子服务器发送所述组件资源获取请求,使所述第二子服务器根据所述资源地址确定组件资源;
接收所述第二子服务器返回的组件资源。
8.一种网页加载装置,其特征在于,包括:
第一接收模块,其配置用于服务器接收浏览器发送的网页加载请求;
第一确定模块,其配置用于根据所述网页加载请求中的网页地址,确定对应所述网页地址的网页的主体框架以及若干异步组件的组件标识,并返回给所述浏览器,以使所述浏览器根据所述主体框架进行渲染,其中,所述网页基于主体框架和若干异步组件构建,所述主体框架中携带有所述若干异步组件的组件标识,所述异步组件为与主体框架分开加载的组件,包含功能实现的超文本标记语言HTML结构、层叠样式表CSS样式以及java script逻辑;
第二接收模块,其配置用于分别接收所述浏览器发送的包含浏览器属性以及组件标识的各获取请求;
第二确定模块,其配置用于针对接收到的每个获取请求,根据该获取请求中的组件标识以及该获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定与所述浏览器兼容的组件资源;
返回模块,其配置用于将确定出的组件资源返回至所述浏览器,以使所述浏览器根据接收到的组件资源进行组件渲染。
9.一种网页加载装置,其特征在于,包括:
第一发送模块,其配置用于浏览器向服务器发送携带网页地址的网页加载请求,所述网页地址对应的网页基于主体框架和若干异步组件构建,所述主体框架中携带有所述若干异步组件的组件标识,所述异步组件为与主体框架分开加载的组件,包含功能实现的超文本标记语言HTML结构、层叠样式表CSS样式以及java script逻辑;
第一接收模块,其配置用于接收所述服务器返回的对应所述网页的主体框架以及若干异步组件的组件标识,并根据所述主体框架进行渲染;
第二发送模块,其配置用于分别向所述服务器发送包含浏览器属性以及组件标识的各获取请求;
第二接收模块,其配置用于接收所述服务器返回的各组件资源,所述组件资源为所述服务器根据所述获取请求中的组件标识以及所述获取请求中的浏览器属性,从预先存储的对应各浏览器属性的组件资源中,确定出的与所述浏览器兼容的组件资源;
渲染模块,其配置用于根据接收到的各组件资源进行组件渲染。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-7任一所述的方法。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010452643.5A CN111639278B (zh) | 2020-05-26 | 2020-05-26 | 一种网页加载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010452643.5A CN111639278B (zh) | 2020-05-26 | 2020-05-26 | 一种网页加载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111639278A CN111639278A (zh) | 2020-09-08 |
CN111639278B true CN111639278B (zh) | 2024-03-08 |
Family
ID=72329209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010452643.5A Active CN111639278B (zh) | 2020-05-26 | 2020-05-26 | 一种网页加载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111639278B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182454A (zh) * | 2020-09-30 | 2021-01-05 | 北京三快在线科技有限公司 | 一种网页优化的方法、装置及存储介质、电子设备 |
CN112364277B (zh) * | 2020-11-23 | 2024-03-08 | 北京三快在线科技有限公司 | 一种网页加载方法及装置 |
CN112631571B (zh) * | 2020-11-25 | 2024-06-18 | 浙江蓝卓工业互联网信息技术有限公司 | 一种web编辑器内组件的联动方法及装置 |
CN113010821A (zh) * | 2021-04-14 | 2021-06-22 | 北京字节跳动网络技术有限公司 | 页面加载方法、装置、设备及存储介质 |
CN113343143A (zh) * | 2021-05-24 | 2021-09-03 | 上海万物新生环保科技集团有限公司 | 一种流式加载网页模板的方法及设备 |
CN113590410B (zh) * | 2021-06-20 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种资源请求方法、系统、设备以及介质 |
CN116466953B (zh) * | 2023-03-03 | 2024-01-02 | 港珠澳大桥管理局 | 组件化的前端开发方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968341A (zh) * | 2012-10-25 | 2013-03-13 | 北京奇虎科技有限公司 | 基于多内核浏览器的不同版本ie内核切换的方法和装置 |
CN103500194A (zh) * | 2013-09-17 | 2014-01-08 | 北京奇虎科技有限公司 | 一种进行网页加载的方法、装置和浏览器 |
CN104714982A (zh) * | 2013-12-17 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种网页的加载方法和系统 |
CN106294844A (zh) * | 2016-08-19 | 2017-01-04 | 乐视控股(北京)有限公司 | 浏览器网页加载处理方法及装置 |
CN109144567A (zh) * | 2018-08-03 | 2019-01-04 | 苏州麦迪斯顿医疗科技股份有限公司 | 跨平台的网页渲染方法、装置、服务器及存储介质 |
CN110059277A (zh) * | 2019-03-12 | 2019-07-26 | 平安普惠企业管理有限公司 | 首页加载优化方法、服务器及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965468B2 (en) * | 2013-11-29 | 2018-05-08 | Huawei Device Co., Ltd. | Method and apparatus for acquiring network resource |
-
2020
- 2020-05-26 CN CN202010452643.5A patent/CN111639278B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968341A (zh) * | 2012-10-25 | 2013-03-13 | 北京奇虎科技有限公司 | 基于多内核浏览器的不同版本ie内核切换的方法和装置 |
CN103500194A (zh) * | 2013-09-17 | 2014-01-08 | 北京奇虎科技有限公司 | 一种进行网页加载的方法、装置和浏览器 |
CN104714982A (zh) * | 2013-12-17 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种网页的加载方法和系统 |
CN106294844A (zh) * | 2016-08-19 | 2017-01-04 | 乐视控股(北京)有限公司 | 浏览器网页加载处理方法及装置 |
CN109144567A (zh) * | 2018-08-03 | 2019-01-04 | 苏州麦迪斯顿医疗科技股份有限公司 | 跨平台的网页渲染方法、装置、服务器及存储介质 |
CN110059277A (zh) * | 2019-03-12 | 2019-07-26 | 平安普惠企业管理有限公司 | 首页加载优化方法、服务器及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
Web异步加载技术分析及信息爬取策略实现;杜润泽;梁英;方英兰;;电脑知识与技术(24);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111639278A (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111639278B (zh) | 一种网页加载方法及装置 | |
CN111639289B (zh) | 一种网页加载方法及装置 | |
CN112364277B (zh) | 一种网页加载方法及装置 | |
CN111581563B (zh) | 页面响应方法、装置、存储介质和电子设备 | |
US8527862B2 (en) | Methods for making ajax web applications bookmarkable and crawlable and devices thereof | |
CN108600326B (zh) | 通信方法、装置及设备 | |
CN111796823A (zh) | 页面更新、页面展示的方法、装置及页面维护系统 | |
CN107479868B (zh) | 一种界面加载方法、装置及设备 | |
CN108170430B (zh) | 一种界面展示的方法及系统 | |
US10594764B2 (en) | Request cache to improve web applications performance | |
CN112612982A (zh) | 网页预加载方法、装置及计算机设备 | |
CN111796821A (zh) | 一种页面更新的方法及装置 | |
CN112559934A (zh) | 一种页面弹窗显示方法及装置 | |
CN113672323A (zh) | 一种页面展示的方法及装置 | |
CN110262749B (zh) | 一种网页操作方法、装置、容器、设备及介质 | |
CN106599045B (zh) | 一种请求发送方法及装置 | |
CN108664191B (zh) | 系统访问方法及装置 | |
CN112926002A (zh) | 一种服务请求的处理方法及装置 | |
CN111538667A (zh) | 一种页面测试的方法及装置 | |
CN110874322B (zh) | 一种用于应用程序的测试方法及测试服务器 | |
CN116151199A (zh) | 一种网联车辆测试报告的生成方法、装置及设备 | |
CN116302230A (zh) | 一种页面展示方法、装置及设备 | |
CN112698882A (zh) | 一种页面组件加载方法及装置 | |
CN115878916A (zh) | 页面刷新的耗时优化方法、装置及终端设备 | |
CN113886228B (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 |