CN102346770B - WebKit浏览器网页内容加载方法及装置 - Google Patents

WebKit浏览器网页内容加载方法及装置 Download PDF

Info

Publication number
CN102346770B
CN102346770B CN201110282015.8A CN201110282015A CN102346770B CN 102346770 B CN102346770 B CN 102346770B CN 201110282015 A CN201110282015 A CN 201110282015A CN 102346770 B CN102346770 B CN 102346770B
Authority
CN
China
Prior art keywords
mixed
media
data
network modules
object model
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.)
Expired - Fee Related
Application number
CN201110282015.8A
Other languages
English (en)
Other versions
CN102346770A (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.)
MStar Software R&D Shenzhen Ltd
MStar Semiconductor Inc Taiwan
Original Assignee
MStar Software R&D Shenzhen Ltd
MStar Semiconductor Inc Taiwan
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 MStar Software R&D Shenzhen Ltd, MStar Semiconductor Inc Taiwan filed Critical MStar Software R&D Shenzhen Ltd
Priority to CN201110282015.8A priority Critical patent/CN102346770B/zh
Priority to TW100142101A priority patent/TWI451335B/zh
Publication of CN102346770A publication Critical patent/CN102346770A/zh
Priority to US13/524,486 priority patent/US20130073946A1/en
Application granted granted Critical
Publication of CN102346770B publication Critical patent/CN102346770B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions

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

本发明公开了一种WebKit浏览器网页内容加载方法及装置,所述方法包括:通过WbKit浏览器的网络模块下载网页内容数据;解析网页内容数据得到解析结果;根据解析结果构建文档对象模型树节点,并继续进行下载网页内容数据、解析网页内容数据以及构建文档对象模型树节点的步骤,直至文档对象模型树的所有文档对象模型树节点构建完成;根据文档对象模型树节点创建文档对象模型树;根据文档对象模型树生成相应的渲染树,将渲染树的创建从解析模块中分离出来;根据渲染树显示网页。本发明通过把创建渲染树的过程独立出来,使其不再占用网络资源,在加载复杂网页内容时,能够减少网页加载的总体时间,增强用户浏览网页的使用体验。

Description

WebKit浏览器网页内容加载方法及装置
技术领域
本发明涉及浏览器技术领域,尤其涉及一种WebKit浏览器网页内容加载方法及装置。 
背景技术
随着互联网技术的发展,网页浏览器应用范围越来越广泛,从最初运行在个人电脑上,到现在延伸到手机、掌上电脑、数字电视等各种嵌入式***中。基于浏览器开发的应用越来越多,网页内容也越来越丰富。然而丰富复杂的网页会导致浏览器加载时间延长,用户需要花费更多时间等待页面加载完成,这给用户的使用带来了很大的不便。特别对于嵌入式领域的浏览器应用,由于硬件资源限制,如何快速加载页面并呈现给用户是浏览器开发者面临的巨大挑战。 
WebKit作为一个开源的网页浏览器引擎,是当今三大主力浏览器内核之一,其具有速度快、高效稳定、兼容性好以及应用范围广泛等特点。请参阅图1,目前WebKit网页浏览器引擎加载网页的基本方法是:向服务器发出数据请求,接收服务器响应数据,根据HTML的语法语义解析数据,同时生成文档对象模型树和渲染树,完成布局,并通过渲染最终呈现给用户。 
如前所述,在已知技术中,WebKit浏览器在解析数据构建文档对象模型树时,会同时构建渲染树,即构建一个文档对象模型(DOM,Document Object Model)树节点时,会根据元素可视性构建对应的渲染(Render)树节点,这种方式需要占用网络资源,导致网络模块下载数据缓慢,从而降低WebKit浏览器网页内容的加载速度,严重影响用户浏览网页的使用体验。 
发明内容
本发明主要解决的技术问题是提供一种WebKit浏览器网页内容加载方法及装置,能够使WebKit浏览器更快速地处理下载网页内容,从而减少浏览器加载网页的总体时间。 
为解决上述技术问题,本发明采用的一个技术方案是:提供一种WebKit浏览器网页内容加载方法,包括以下步骤:通过WebKit浏览器的网络模块下载网页内容数据;解析所述网页内容数据得到解析结果;根据所述解析结果构建文档对象模型树节点,并继续进行所述下载网页内容数据的步骤,以及所述解析所述网页内容数据、构建文档对象模型树节点的步骤,直至文档对象模型树的所有文档对象模型树节点构建完成;根据所述文档对象模型树节点创建文档对象模型树;根据所述文档对象模型树生成相应的渲染树,其中,将渲染树的创建从解析模块中分离出来;根据所述渲染树进行网页内容的页面布局(Web Layout),根据所述渲染树进行渲染,得到渲染对象;根据所述网页内容的页面布局和所述渲染对象显示网页;所述根据渲染树进行网页内容的页面布局的动作包括:根据所述渲染树进行网页内容的页面布局,并在布局处理期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则继续所述解析网页内容数据、构建文档对象模型树节点以及直至文档对象模型树的所有文档对象模型树节点构建完成的步骤。 
其中,所述在布局处理期间向网络模块发起询问、检查网络模块是否正在下载网页内容数据的动作包括:在每完成一个布局时,向所述网络模块发起询问,检查网络模块是否正在下载网页内容数据。 
其中,所述根据渲染树进行网页内容的页面布局的动作包括:根据所述渲染树进行网页内容的页面布局,并在布局处理期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则继续执行下一个网页内容的页面布局处理的动作。 
其中,所述在布局处理期间向网络模块发起询问、检查网络模块是否正在下载网页内容数据的动作包括:在每完成一个布局时,向所述网络模块发起询问,检查网络模块是否正在下载网页内容数据。 
其中,所述根据渲染树进行渲染、得到渲染对象的动作包括:根据 所述渲染树进行渲染、得到渲染对象,并在渲染期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则继续所述解析所述网页内容数据、构建文档对象模型树节点以及直至文档对象模型树的所有文档对象模型树节点构建完成的步骤。 
其中,所述在渲染期间发起询问、检查网络模块是否正在下载网页内容数据的动作包括:在每完成一个对象的渲染时,向所述网络模块发起询问,检查网络模块是否正在下载网页内容数据。 
其中,所述根据渲染树进行渲染、得到渲染对象的动作包括: 
根据所述渲染树进行渲染、得到渲染对象,并在渲染期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则继续执行下一个对象的渲染处理的动作。 
其中,所述在渲染期间发起询问、检查网络模块是否正在下载网页内容数据的步骤包括:在每完成一个对象的渲染时,向所述网络模块发起询问,检查网络模块是否正在下载网页内容数据。 
其中,所述下载网页内容数据的步骤包括:向服务器发送下载网页内容数据的请求;接收所述服务器响应所述请求而返回的网页内容数据。 
为解决上述技术问题,本发明采用的一个技术方案是:提供一种WebKit浏览器装置,包括:网络模块,用于使WebKit浏览器客户端与服务器进行网络数据通讯;下载模块,用于通过所述网络模块下载网页内容数据;解析模块,用于解析所述网页内容数据得到解析结果;第一创建模块,用于根据所述解析结果构建文档对象模型树节点,并使下载模块继续进行下载网页内容数据、使解析模块解析网页内容数据,第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成;第二创建模块,用于根据所述文档对象模型树节点创建文档对象模型树;第三创建模块,用于根据所述文档对象模型树生成相应的渲染树,其中,将渲染树的创建从解析模块中分离出来;布局模块,用于根据所述渲染树进行网页内容的页面布局;渲染模块,用于根据所述渲染树进行渲染,得到渲染对象;显示模块,用于根 据所述网页内容的页面布局和所述渲染对象显示网页;所述装置包括第一询问模块,所述第一询问模块用于在网页内容的页面布局期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。 
其中,所述第一询问模块具体用于在每完成一个布局时,向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。 
其中,所述装置包括第一询问模块,所述第一询问模块用于在网页内容的页面布局期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则使布局模块进行下一个网页内容的页面布局处理。 
其中,所述第一询问模块具体用于在每完成一个布局时,向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则使布局模块进行下一个网页内容的页面布局处理。 
其中,所述装置包括第二询问模块,所述第二询问模块用于在进行渲染、得到渲染对象的期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。 
其中,所述第二询问模块具体用于在每完成一个对象的渲染时,向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。 
其中,所述装置包括第二询问模块,所述第二询问模块用于在进行渲染、得到渲染对象的期间向网络模块发起询问,检查网络模块是否正 在下载网页内容数据;若否,则使渲染模块进行下一个对象的渲染处理。 
其中,所述第二询问模块具体用于在每完成一个对象的渲染时,向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则使渲染模块继续进行下一个对象的渲染处理。 
其中,所述下载模块包括下载请求单元和数据接收单元;所述下载请求单元用于通过网络模块向服务器发起下载网页内容数据的请求;所述数据接收单元用于接收服务器响应所述请求而返回的网页内容数据。 
本发明的有益效果是:区别于现有技术WebKit浏览器在解析数据构建文档对象模型树时、会同时构建渲染树而一直占用网络模块资源、导致加载复杂网页内容时过程缓慢的情况,本发明在WebKit浏览器生成渲染树的步骤中,待文档对象模型树创建完成后才创建渲染树,把创建渲染树的过程独立出来并使其不再占用网络资源,在加载复杂网页内容时,能够减少网页加载的总体时间,提高加载网页内容的速度,增强用户浏览网页的使用体验。 
附图说明
图1是一种现有技术中浏览器创建文档对象模型树和渲染树的流程图; 
图2是本发明WebKit浏览器网页内容加载方法实施例的流程图; 
图3是本发明WebKit浏览器网页内容加载方法实施例中创建文档对象模型树和渲染树的流程图; 
图4是本发明WebKit浏览器装置第一实施例的结构示意图; 
图5是本发明WebKit浏览器装置第二实施例的结构示意图; 
图6是本发明WebKit浏览器装置第三实施例的结构示意图; 
图7是本发明WebKit浏览器装置第二实施例中在布局过程中提前询问网络模块的示意图; 
图8是本发明WebKit浏览器装置第三实施例中在渲染过程中提前询问网络模块的示意图。 
具体实施方式
下面结合附图和实施例对本发明进行详细说明。 
请参阅图2,本发明WebKit浏览器网页内容加载方法实施例包括: 
步骤101:通过WebKit浏览器的网络模块下载网页内容数据。 
在WebKit浏览器运行中,当加载一个页面时,浏览器客户端通过网络模块向服务器发起请求,服务器接受请求,响应所述请求并处理数据,返回网页内容数据到客户端。 
步骤102:解析所述网页内容数据得到解析结果。 
在WebKit浏览器运行时,通过网络模块接收到返回的网页内容数据后,通过回调函数把网页内容数据传递到解析模块,解析模块对接收到的这批网页内容数据进行解析,得到解析结果。 
步骤103:根据所述解析结果构建文档对象模型树节点,并继续进行所述下载网页内容数据的步骤,以及所述解析所述网页内容数据、构建文档对象模型树节点的步骤,直至文档对象模型树的所有文档对象模型树节点构建完成。 
在WebKit浏览器运行中、解析模块根据解析结果构建文档对象模型树节点时,网络模块等待解析模块完成对这批数据的解析后,才继续接收下一批数据。 
步骤104:根据所述文档对象模型树节点创建文档对象模型树。 
步骤105:根据所述文档对象模型树生成相应的渲染树; 
在本步骤中,将渲染树的创建从解析模块中分离出来,待文档对象模型树创建完成,才根据创建的文档对象模型树创建相应的渲染树。 
步骤106:根据所述渲染树进行网页内容的页面布局,根据所述渲染树进行渲染,得到渲染对象。 
在现有技术的WebKit浏览器中,网页解析完成后,在渲染之前需要完成网页内容的布局。在处理布局时,由于网页内容很多,因此往往需要很长时间。这样会使网络模块中已经到达的数据无法及时得到处理,从而影响网络模块的后续工作。同样地,在WebKit浏览器中,渲染模块由于涉及到图形处理,需要的时间最长。一般而言,网页越复杂,内容越丰富,渲染需要处理的元素会越多,浏览器运行时,在把网页呈 现出来之前,需要花费大量时间渲染。这样可能会让网络模块的数据在渲染阶段无法得到及时响应,从而影响网络模块的后续工作。 
本发明的实施例中,将解析模块独立出来,在解析所述网页内容数据,构建文档对象模型树节点时并不占用网络资源,从而使得网络模块能够更快地得到响应,使得浏览器能够更快速地加载网页内容。 
步骤107:根据所述网页内容的页面布局和所述渲染对象显示网页。 
在WebKit浏览器运行中,待页面布局和渲染对象完成,则根据所述网页内容的页面布局和渲染对象显示网页。 
下面对比现有技术与本发明实施例在方法上的区别: 
在现有技术中(如图1所示),解析模块根据解析网页内容数据的结果,构建文档对象模型树节点,并在每生成一个文档对象模型节点时,会根据需要生成相应的渲染树节点,同时会涉及生成或调整对应的CSS数据。 
而本发明实施例的浏览器创建文档对象模型树和渲染树流程中(如图3所示),WebKit浏览器在解析网页内容数据构建文档对象模型树时,不同时构建渲染树节点,这种待文档对象模型树创建完成后才创建渲染树的方式,是把创建渲染树的过程独立出来并使其不再占用网络模块的资源,使得在加载复杂网页内容时,能够减少网页加载的总体时间,提高加载网页内容的速度,增强用户浏览网页的使用体验。 
下面再具体说明实施这种分离构建渲染树的方法的可行性与优势: 
1)文档对象模型树是浏览器表示网页的一种描述模型,它包含的信息足够以后构建渲染树,因此只要文档对象模型树创建完成,渲染树的构建可以分离出去单独处理。 
2)渲染树的构建分离出去单独处理,能够减少解析模块的复杂度,同时也减少解析模块的运行时间,从而能更快速进行解析网页内容数据、构建文档对象模型树节点的操作,提高加载网页内容的速度。 
3)网络模块数据处理回调函数时间减少,能够提高响应其它网络资源下载的速度。 
请参阅图4,本发明WebKit浏览器装置第一实施例,包括: 
网络模块201:用于使WebKit浏览器客户端与服务器进行网络数据通讯; 
下载模块202:用于通过所述网络模块下载网页内容数据; 
解析模块203:用于解析所述网页内容数据得到解析结果; 
第一创建模块204:用于根据所述解析结果构建文档对象模型树节点,并使下载模块继续进行下载网页内容数据、使解析模块解析网页内容数据,第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成; 
第二创建模块205:用于根据所述文档对象模型树节点创建文档对象模型树; 
第三创建模块206:用于根据所述文档对象模型树生成相应的渲染树; 
布局模块207:用于根据所述渲染树进行网页内容的页面布局; 
渲染模块208:用于根据所述渲染树进行渲染,得到渲染对象; 
显示模块209:用于根据所述网页内容的页面布局和渲染对象显示网页。 
以上可以了解,区别于现有技术WebKit浏览器在解析数据构建文档对象模型树时、会同时构建渲染树而一直占用网络模块资源、导致加载复杂网页内容时过程缓慢的情况,本发明在生成渲染树的步骤中,待文档对象模型树创建完成后才创建渲染树,把创建渲染树的过程独立出来并使其不再占用网络资源,在加载复杂网页内容时,能够减少网页加载的总体时间,提高加载网页内容的速度,增强用户浏览网页的使用体验。 
在上述实施例中,下载模块202包括下载请求单元和数据接收单元,下载请求单元用于通过网络模块向服务器发起下载网页内容数据的请求;数据接收单元用于接收服务器响应所述请求而返回的网页内容数据。 
请参阅图5,在本发明WebKit浏览器装置第二实施例中,WebKit浏览器网页内容加载装置还包括第一询问模块210,所述第一询问模块 210用于在网页内容的页面布局期间向网络模块201发起询问,检查网络模块201是否正在下载网页内容数据;若是,则使解析模块203继续解析网页内容数据,而使第一创建模块204继续构建文档对象模型树节点直至文档对象模型树的所有文档对象模型树节点构建完成;若否,则使布局模块207进行下一个网页内容的页面布局处理。 
请参阅图6,在本发明WebKit浏览器装置第三实施例中,所述装置还包括第二询问模块211,所述第二询问模块211用于在进行渲染、得到渲染对象的期间向网络模块201发起询问,检查网络模块201是否正在下载网页内容数据;若是,则使解析模块203继续解析网页内容数据,而使第一创建模块204继续构建文档对象模型树节点直至文档对象模型树的所有文档对象模型树节点构建完成;若否,则使渲染模块进行下一个对象的渲染处理。 
请参阅图7,图7是本发明WebKit浏览器装置第二实施例在布局过程中提前询问网络模块的示意图。本发明进一步地在布局中,增加询问网络模块是否正在下载网页内容数据的功能设计,若是则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。当然,也可以在每完成一个布局时,向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成;若否,则使布局模块进行下一个网页内容的页面布局处理。 
请参阅图8,图8是本发明WebKit浏览器装置第三实施例在渲染过程中提前询问网络模块的示意图。在该实施例中,本发明进一步地在布局中,增加询问网络模块是否正在下载网页内容数据的功能设计,若是则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。当然,也可以在每完成一个渲染对象时,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使 第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成;若否,则使渲染模块进行下一个对象的渲染处理。 
本发明提供的方法和装置,能够减少网络模块因为已经收到的数据处理没能及时处理而引起的等待时间。使网络模块具有更快的响应,使浏览器能够更快速地运行,优化浏览器加载网页资源的总体时间。极大地提高网络模块的工作效率,减少因为得不到及时处理而造成的延迟。进一步地,本发明能够提高网络模块的工作效率,从而提高从服务器获取网络资源的速度,使得浏览器其它模块能够获取更快处理数据的机会,从而使得基于WebKit引擎的浏览器加载网页资源速度更快。 
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。 

Claims (18)

1.一种WebKit浏览器网页内容加载方法,其特征在于,包括以下步骤: 
通过WebKit浏览器的网络模块下载网页内容数据; 
解析所述网页内容数据得到解析结果; 
根据所述解析结果构建文档对象模型树节点,并继续进行所述下载网页内容数据的步骤,以及所述解析所述网页内容数据、构建文档对象模型树节点的步骤,直至文档对象模型树的所有文档对象模型树节点构建完成; 
根据所述文档对象模型树节点创建文档对象模型树; 
根据所述文档对象模型树生成相应的渲染树,其中,将渲染树的创建从解析模块中分离出来; 
根据所述渲染树进行网页内容的页面布局,根据所述渲染树进行渲染,得到渲染对象;及 
根据所述网页内容的页面布局和渲染对象显示网页; 
所述根据渲染树进行网页内容的页面布局的动作包括: 
根据所述渲染树进行网页内容的页面布局,并在布局处理期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则继续所述解析网页内容数据、构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成的步骤。 
2.根据权利要求1所述的方法,其特征在于: 
所述在布局处理期间向网络模块发起询问、检查网络模块是否正在下载网页内容数据的动作包括:在每完成一个布局时,向所述网络模块发起询问,检查网络模块是否正在下载网页内容数据。 
3.根据权利要求1所述的方法,其特征在于: 
所述根据渲染树进行网页内容的页面布局的动作包括: 
根据所述渲染树进行网页内容的页面布局,并在布局处理期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则 继续执行下一个网页内容的页面布局处理的动作。 
4.根据权利要求3所述的方法,其特征在于: 
所述在布局处理期间向网络模块发起询问、检查网络模块是否正在下载网页内容数据的动作包括:在每完成一个布局时,向所述网络模块发起询问,检查网络模块是否正在下载网页内容数据。 
5.根据权利要求1所述的方法,其特征在于: 
所述根据渲染树进行渲染、得到渲染对象的动作包括: 
根据所述渲染树进行渲染、得到渲染对象,并在渲染期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则继续所述解析所述网页内容数据、构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成的步骤。 
6.根据权利要求5所述的方法,其特征在于: 
所述在渲染期间发起询问、检查网络模块是否正在下载网页内容数据的动作包括:在每完成一个对象的渲染时,向所述网络模块发起询问,检查网络模块是否正在下载网页内容数据。 
7.根据权利要求1所述的方法,其特征在于: 
所述根据渲染树进行渲染、得到渲染对象的动作包括: 
根据所述渲染树进行渲染、得到渲染对象,并在渲染期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则继续执行下一个对象的渲染处理的动作。 
8.根据权利要求7所述的方法,其特征在于: 
所述在渲染期间发起询问、检查网络模块是否正在下载网页内容数据的步骤包括:在每完成一个对象的渲染时,向所述网络模块发起询问,检查网络模块是否正在下载网页内容数据。 
9.根据权利要求1所述的方法,其特征在于: 
所述下载网页内容数据的步骤包括: 
向服务器发送下载网页内容数据的请求; 
接收所述服务器响应所述请求而返回的网页内容数据。 
10.一种WebKit浏览器装置,其特征在于,包括: 
网络模块,用于使WebKit浏览器客户端与服务器进行网络数据通讯; 
下载模块,用于通过所述网络模块下载网页内容数据; 
解析模块,用于解析所述网页内容数据得到解析结果; 
第一创建模块,用于根据所述解析结果构建文档对象模型树节点,并使下载模块继续进行下载网页内容数据、使解析模块解析网页内容数据,第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成; 
第二创建模块,用于根据所述文档对象模型树节点创建文档对象模型树; 
第三创建模块,用于根据所述文档对象模型树生成相应的渲染树,其中,将渲染树的创建从解析模块中分离出来; 
布局模块,用于根据所述渲染树进行网页内容的页面布局; 
渲染模块,用于根据所述渲染树进行渲染,得到渲染对象;以及 
显示模块,用于根据所述网页内容的页面布局和渲染对象显示网页; 
所述装置包括第一询问模块,所述第一询问模块用于在网页内容的页面布局期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。 
11.根据权利要求10所述的装置,其特征在于: 
所述第一询问模块具体用于在每完成一个布局时,向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。 
12.根据权利要求10所述的装置,其特征在于: 
所述装置包括第一询问模块,所述第一询问模块用于在网页内容的页面布局期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则使布局模块进行下一个网页内容的页面布局处理。 
13.根据权利要求12所述的装置,其特征在于: 
所述第一询问模块具体用于在每完成一个布局时,向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则使布局模块进行下一个网页内容的页面布局处理。 
14.根据权利要求10所述的装置,其特征在于: 
所述装置包括第二询问模块,所述第二询问模块用于在进行渲染、得到渲染对象的期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。 
15.根据权利要求14所述的装置,其特征在于: 
所述第二询问模块具体用于在每完成一个对象的渲染时,向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若是,则使解析模块继续解析网页内容数据,而使第一创建模块继续构建文档对象模型树节点,直至文档对象模型树的所有文档对象模型树节点构建完成。 
16.根据权利要求10所述的装置,其特征在于: 
所述装置包括第二询问模块,所述第二询问模块用于在进行渲染、得到渲染对象的期间向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则使渲染模块进行下一个对象的渲染处理。 
17.根据权利要求16所述的装置,其特征在于: 
所述第二询问模块具体用于在每完成一个对象的渲染时,向网络模块发起询问,检查网络模块是否正在下载网页内容数据;若否,则使渲染模块继续进行下一个对象的渲染处理。 
18.根据权利要求10所述的装置,其特征在于: 
所述下载模块包括下载请求单元和数据接收单元; 
所述下载请求单元用于通过网络模块向服务器发起下载网页内容数据的请求; 
所述数据接收单元用于接收服务器响应所述请求而返回的网页内容数据。 
CN201110282015.8A 2011-09-21 2011-09-21 WebKit浏览器网页内容加载方法及装置 Expired - Fee Related CN102346770B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201110282015.8A CN102346770B (zh) 2011-09-21 2011-09-21 WebKit浏览器网页内容加载方法及装置
TW100142101A TWI451335B (zh) 2011-09-21 2011-11-17 WebKit瀏覽器裝置與應用於其上之網頁內容載入方法
US13/524,486 US20130073946A1 (en) 2011-09-21 2012-06-15 Method and apparatus for loading webpage content of webkit browser

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110282015.8A CN102346770B (zh) 2011-09-21 2011-09-21 WebKit浏览器网页内容加载方法及装置

Publications (2)

Publication Number Publication Date
CN102346770A CN102346770A (zh) 2012-02-08
CN102346770B true CN102346770B (zh) 2014-05-14

Family

ID=45545447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110282015.8A Expired - Fee Related CN102346770B (zh) 2011-09-21 2011-09-21 WebKit浏览器网页内容加载方法及装置

Country Status (3)

Country Link
US (1) US20130073946A1 (zh)
CN (1) CN102346770B (zh)
TW (1) TWI451335B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965451B2 (en) 2015-06-09 2018-05-08 International Business Machines Corporation Optimization for rendering web pages

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365862B (zh) * 2012-03-28 2018-11-23 北京百度网讯科技有限公司 一种用于生成与页面对应的图片的方法与设备
CN103870558B (zh) * 2012-03-29 2017-01-25 北京奇虎科技有限公司 页面渲染方法和遮罩层创建方法
CN102693280B (zh) * 2012-04-28 2014-08-13 广州市动景计算机科技有限公司 网页浏览方法、WebApp框架、执行JavaScript方法及装置、移动终端
CN102902799B (zh) * 2012-10-12 2015-08-12 中科方德软件有限公司 一种基于WebKit的浏览器页面显示方法及其装置
CN103778365B (zh) 2012-10-18 2015-05-13 腾讯科技(深圳)有限公司 一种检测网页隐藏内容的方法,及设备
CN102915375B (zh) * 2012-11-08 2015-10-21 山东大学 一种基于布局分区的网页加载方法
CN103034736B (zh) * 2012-12-27 2016-12-28 深圳Tcl新技术有限公司 基于webkit内核的浏览器及其处理方法
CN104331224B (zh) 2013-07-22 2018-02-23 腾讯科技(深圳)有限公司 一种网页内容浏览方法及装置、终端设备
US9330074B2 (en) * 2013-10-31 2016-05-03 Google Inc. Style sheet speculative preloading
CN104573025B (zh) 2015-01-12 2018-09-04 北京京东尚科信息技术有限公司 一种提高页面加载速度的方法及***
CN105992063A (zh) * 2015-01-29 2016-10-05 华为技术有限公司 一种网页加载方法及用户设备
CN104750851A (zh) * 2015-04-14 2015-07-01 钱海祥 网页内容的延迟加载方法及***
CN105096368B (zh) * 2015-04-30 2019-03-01 华为技术有限公司 三维对象处理方法和相关装置
WO2017069735A1 (en) 2015-10-20 2017-04-27 Viasat, Inc. Hint model updating using automated browsing clusters
CN106936871B (zh) * 2015-12-30 2020-05-29 阿里巴巴集团控股有限公司 界面展示数据的方法及装置
CN106341469B (zh) * 2016-08-31 2020-03-17 东软集团股份有限公司 树节点数据的加载方法和装置
CN106933792A (zh) * 2017-03-17 2017-07-07 郑州云海信息技术有限公司 一种提高服务器端数据填充客户端表单效率的方法
US11074338B2 (en) * 2018-10-23 2021-07-27 Citrix Systems, Inc. Local secure rendering of web content
CN109542417B (zh) * 2018-11-20 2022-03-01 北京小米移动软件有限公司 一种dom渲染网页的方法、装置、终端和存储介质
CN109600662A (zh) * 2018-11-27 2019-04-09 成都品果科技有限公司 一种视频播放方法及***
CN111372038B (zh) * 2018-12-26 2021-06-18 厦门星宸科技有限公司 多串流影像处理装置及方法
CN110457624A (zh) * 2019-06-26 2019-11-15 网宿科技股份有限公司 视频生成方法、装置、服务器及存储介质
US10984067B2 (en) 2019-06-26 2021-04-20 Wangsu Science & Technology Co., Ltd. Video generating method, apparatus, server, and storage medium
CN110909279B (zh) * 2019-11-19 2022-09-13 广州至真信息科技有限公司 一种网页的渲染方法、装置、计算机设备和存储介质
CN111125597B (zh) * 2019-12-18 2023-10-27 百度在线网络技术(北京)有限公司 网页加载方法、浏览器、电子设备及存储介质
CN111859215A (zh) * 2020-06-30 2020-10-30 维沃移动通信有限公司 页面显示方法、装置、电子设备及可读存储介质
CN112287256A (zh) * 2020-09-21 2021-01-29 北京沃东天骏信息技术有限公司 页面显示方法、终端设备、云服务器、***及存储介质
CN112307385A (zh) * 2020-10-22 2021-02-02 北京达佳互联信息技术有限公司 网页数据加载和处理方法、装置、电子设备及存储介质
CN112612449B (zh) * 2020-12-17 2024-06-18 深圳前海微众银行股份有限公司 一种网页页面的同步方法及装置、设备、存储介质
CN112579957A (zh) * 2020-12-23 2021-03-30 中国电子信息产业集团有限公司第六研究所 一种基于图像分析的智能化网页内容解析方法
CN116992183B (zh) * 2023-09-26 2024-01-09 国网信息通信产业集团有限公司 一种基于深度学习技术的国产浏览器适配兼容方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101223518A (zh) * 2005-07-12 2008-07-16 微软公司 计算机的放大引擎及接口
CN101951405A (zh) * 2010-09-17 2011-01-19 中山大学 一种基于webkit的机顶盒中间件的实现方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140646B2 (en) * 2009-06-04 2012-03-20 Microsoft Corporation Network application performance enhancement using speculative execution
CN102065114A (zh) * 2009-11-17 2011-05-18 ***通信集团重庆有限公司 一种移动终端访问网页的方法及装置
CN102065572B (zh) * 2009-11-17 2015-07-01 ***通信集团广东有限公司 移动浏览器、网关、浏览***及互联网页面访问方法
US20110209046A1 (en) * 2010-02-11 2011-08-25 Zheng Huang Optimizing web content display on an electronic mobile reader
US8413047B2 (en) * 2011-05-12 2013-04-02 Qualcomm Incorporated Concurrent parsing and processing of HTML and JAVASCRIPT®

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101223518A (zh) * 2005-07-12 2008-07-16 微软公司 计算机的放大引擎及接口
CN101951405A (zh) * 2010-09-17 2011-01-19 中山大学 一种基于webkit的机顶盒中间件的实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
kllb520.页面重构应注意的repaint和reflow.《无》.2011,第1部分-第2部分、第1部分的图.
页面重构应注意的repaint和reflow;kllb520;《无》;20110327;第1部分-第2部分、第1部分的图 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965451B2 (en) 2015-06-09 2018-05-08 International Business Machines Corporation Optimization for rendering web pages
US10248632B2 (en) 2015-06-09 2019-04-02 International Business Machines Corporation Optimization for rendering web pages

Also Published As

Publication number Publication date
CN102346770A (zh) 2012-02-08
TWI451335B (zh) 2014-09-01
TW201314577A (zh) 2013-04-01
US20130073946A1 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
CN102346770B (zh) WebKit浏览器网页内容加载方法及装置
US11144711B2 (en) Webpage rendering method, device, electronic apparatus and storage medium
CN102591954B (zh) 一种浏览器用数据加载方法及装置
EP2962216B1 (en) Sharing application states
CN105100003B (zh) 一种客户端的网页游戏预加载方法及装置
CN102184266B (zh) 一种页面与数据分离的动态wap网站自动生成方法
CN102184184B (zh) 一种网页动态信息获取方法
US20140201617A1 (en) Method for Browsing Web Page on Mobile Terminal
CN111478956B (zh) 小程序包的部署、预览方法和装置
CN102929971B (zh) 一种多媒体信息播放方法和***
CN106649567A (zh) 一种基于浏览器内核的网络爬虫***
CN104063407A (zh) 基于云计算的浏览器架构与解析方法
CN103607654A (zh) 基于多屏协同***的移动终端辅助输入装置及方法
CN111176627A (zh) 一种基于微服务的前后端分离的装置与方法
CN109710830A (zh) 一种基于浏览器插件的分布式网络爬虫方法及***
CN106790276A (zh) 一种基于浏览器协议的跨浏览器数据交互方法和装置
CN109885347B (zh) 一种配置数据的获取方法、装置及终端、***、存储介质
CN103458065A (zh) 一种HTML5标准下基于Webkit内核的视频地址提取方法
CN103678330A (zh) 网页数据加载方法、***及装置
CN102222095B (zh) 一种用于对待显示的页面进行转换处理的设备及其方法
CN102955852A (zh) 一种网页资源处理方法、装置及设备
CN103440281A (zh) 一种用于获取下载文件的方法、装置与设备
CN106598829A (zh) 一种网页自动化测试方法及装置
CN102087596B (zh) 嵌入式浏览装置及其多页面混合显示方法
CN104202233A (zh) 一种信息交互方法、终端、服务器及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140514

Termination date: 20190921