CN103530289A - 网页显示方法和装置 - Google Patents
网页显示方法和装置 Download PDFInfo
- Publication number
- CN103530289A CN103530289A CN201210225485.5A CN201210225485A CN103530289A CN 103530289 A CN103530289 A CN 103530289A CN 201210225485 A CN201210225485 A CN 201210225485A CN 103530289 A CN103530289 A CN 103530289A
- Authority
- CN
- China
- Prior art keywords
- script tag
- external resource
- script
- label
- tag
- 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.)
- Granted
Links
Images
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
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
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
技术领域
本发明涉及计算机领域,特别涉及一种网页显示方法和装置。
背景技术
随着计算机行业的不断发展,网络的应用越来越普及。通过浏览器,人们可以在网络中获取自己感兴趣的信息、向他人发布自己的状态以及基于网页页面同好友进行交流等。当用户通过浏览器打开某网页时,浏览器需要对该网页进行解析,以便于根据解析结果进行网页的排版和渲染。
解析网页时,浏览器首先获取显示网页所需的标签文件,该标签文件中包含有很多个可执行的标签。现有的网页解析方法在解析网页时,会逐个执行获取到的标签:如果待执行的标签不需要获取外部资源,则直接将该标签的内容发送给解析器进行解析;如果待执行的标签需要获取外部资源,则暂停解析流程并发送获取外部资源的请求,当获取到该标签对应的外部资源之后,再将该标签的内容和对应的外部资源发送给解析器进行解析。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
显示网页所需的标签文件中,包括通常由HTML(Hypertext Markup Language,超文本标记语言)语言编辑的非脚本标签和通常由JS(也即javascript)语言编辑的脚本标签。现有技术在执行脚本标签的过程中,如果这些脚本标签需要获取外部资源,则需要暂停解析流程来等待外部资源的获取,而这些外部资源往往数据量较大,导致浪费较多时间,影响首屏页面的显示速度。尤其是在嵌入式设备等网络带宽较低的设备上,这种情况尤为明显。
发明内容
为了解决首屏页面显示速度慢,用户体验差的问题,本发明实施例提供了一种网页显示方法和装置。所述技术方案如下:
一方面,提供一种网页显示方法,所述网页显示方法包括:
获取显示网页所需的标签文件,所述标签文件中包含有非脚本标签和脚本标签;
对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析;
根据所述标签文件中的非脚本标签的解析结果显示网页。
进一步地,所述对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析,具体包括:
依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
如果是非脚本标签,则将所述非脚本标签的内容进行解析;
如果是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
如果所述脚本标签需要获取外部资源,则发送获取所述外部资源的请求,并开始下一个标签的判断过程;
如果所述脚本标签不需要获取外部资源,则开始下一个标签的判断过程。
进一步地,所述发送获取所述外部资源的请求之后,还包括:
将获取所述外部资源的请求添加至脚本资源请求池中;
判断所述外部资源是否被获取至本地缓存;
如果是,则从所述脚本资源请求池中移除对应于所述外部资源的请求。
进一步地,所述根据所述标签文件中的非脚本标签的解析结果显示网页之后,还包括:
判断所述脚本资源请求池中是否还包括获取外部资源的请求;
如果否,则重新解析所述标签文件中的所有标签,并根据解析结果重新显示网页。
进一步地,所述重新解析所述标签文件中的所有标签,具体包括:
依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
如果是非脚本标签,则将所述非脚本标签的内容进行解析;
如果是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
如果所述脚本标签需要获取外部资源,则从所述本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;
如果所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。
进一步地,所述根据所述标签文件中的非脚本标签的解析结果显示网页之后,还包括:
判断所述脚本资源请求池中是否还包括获取外部资源的请求;
如果否,则解析所述标签文件中的脚本标签,并根据解析结果刷新显示网页。
进一步地,所述解析所述标签文件中的脚本标签,具体包括:
依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
如果是非脚本标签,则开始下一个标签的判断过程;
如果是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
如果所述脚本标签需要获取外部资源,则从所述本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;
如果所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。
另一方面,提供一种网页显示装置,所述网页显示装置包括:
获取模块,用于获取显示网页所需的标签文件,所述标签文件中包含有非脚本标签和脚本标签;
解析模块,用于对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析;
显示模块,用于根据所述解析模块的解析结果显示网页。
进一步地,所述解析模块,具体包括:
第一判断单元、解析单元、第二判断单元和请求发送单元;
所述第一判断单元,用于依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
所述解析单元,用于如果所述第一判断单元判断所述标签文件中的标签是非脚本标签,则将所述非脚本标签的内容进行解析;
所述第二判断单元,用于如果第一判断单元判断所述标签文件中的标签是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
所述请求发送单元,用于如果所述第二判断单元判断所述脚本标签需要获取外部资源,则发送获取所述外部资源的请求;
所述第一判断单元,还用于在所述请求发送单元发送获取所述外部资源的请求之后,开始下一个标签的判断过程;
所述第一判断单元,还用于如果所述第二判断单元判断所述脚本标签不需要获取外部资源,开始下一个标签的判断过程。
进一步地,所述请求发送单元发送获取所述外部资源的请求之后,所述装置还包括:
添加模块,用于将所述请求发送单元发送的获取外部资源的请求添加至脚本资源请求池中;
第一判断模块,用于判断所述外部资源是否被获取至本地缓存;
移除模块,用于如果所述第一判断模块判断出所述外部资源被获取至本地缓存,则从脚本资源请求池中移除对应于所述外部资源的请求。
进一步地,所述显示模块根据所述标签文件中的非脚本标签的解析结果显示网页之后,所述装置还包括:
第二判断模块,用于判断所述脚本资源请求池中是否还包括获取外部资源的请求;
所述解析模块,还用于如果所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求,则重新解析所述标签文件中的所有标签;
所述显示模块,还用于根据所述解析模块的解析结果重新显示网页。
进一步地,所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求之后,所述第一判断单元,用于依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
所述解析单元,用于如果所述第一判断单元判断出所述标签文件中的标签为非脚本标签,则将所述非脚本标签的内容进行解析;
所述第二判断单元,用于如果所述第一判断单元判断出所述标签文件中的标签为脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
所述解析单元,还用于如果所述第二判断单元判断所述脚本标签需要获取外部资源,则从本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;
所述解析单元,还用于如果所述第二判断单元判断所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。
进一步地,所述显示模块根据所述标签文件中的非脚本标签的解析结果显示网页之后,所述装置还包括:
第二判断模块,用于判断所述脚本资源请求池中是否还包括获取外部资源的请求;
所述解析模块,还用于如果所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求,则解析所述标签文件中的脚本标签;
进一步地,所述显示模块,还用于根据所述解析模块的解析结果刷新显示网页。
所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求之后,所述第一判断单元,用于依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
所述第一判断单元,还用于如果所述第一判断单元判断出所述标签文件中的标签是非脚本标签,则开始下一个标签的判断过程;
所述第二判断单元,用于如果所述第一判断单元判断出所述标签文件中的标签是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
所述解析单元,用于如果所述第二判断单元判断所述脚本标签需要获取外部资源,则从本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;
所述解析单元,还用于如果所述第二判断单元判断所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。
本发明实施例提供的技术方案带来的有益效果是:
通过在解析网页标签时,判断当前标签时脚本标签还是非脚本标签,根据判断结果暂不解析脚本标签而只解析非脚本标签,并根据对非脚本标签的解析结果向用户显示网页,达到加快网页显示速度,提高用户体验的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的网页显示方法的方法流程图;
图2是本发明实施例二提供的网页显示方法的方法流程图;
图3是本发明实施例三提供的网页显示装置的装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
根据前述内容可知,显示网页所需的标签文件中包括非脚本标签和脚本标签。其中,非脚本标签通常用于显示首屏页面(即浏览器显示一个网页时,第一次显示出的页面,该页面可以只包括完整页面的一部分内容);脚本标签通常用于增强页面显示效果,脚本标签在浏览器显示首屏页面过程中是非必须的。为了达到更快的首屏页面显示速度,请参考如下实施例:
实施例一
请参考图1,其示出了本实施例一提供的网页解析方法的方法流程图。该网页解析方法可以用于诸如智能手机、平板电脑之类的移动终端中,本实施例提供的网页解析方法可以包括:
步骤101,获取显示网页所需的标签文件,标签文件中包含有非脚本标签和脚本标签;
浏览器接收显示某网页的指令后,从服务商处获取显示该网页所需要的标签文件,标签文件中可以包含有显示网页所必须的非脚本标签,以及增强网页显示效果的脚本文件。
步骤102,对标签文件中的非脚本标签进行解析,对标签文件中的脚本标签仅获取所需的外部资源而暂不解析;
浏览器在依次解析标签文件中的标签时,首先判断标签文件中的标签是否为脚本标签:
如果是非脚本标签,则对该非脚本标签进行解析;
如果是脚本标签,则暂不解析该脚本标签,而是继续下一标签的判断过程;另外,当脚本标签有需要获取的外部资源时,还发送获取该脚本标签的外部资源的请求,以便在进行后续非脚本标签解析的同时获取脚本标签的外部资源。
步骤103,根据标签文件中的非脚本标签的解析结果显示网页。
浏览器根据对非脚本标签的解析结果向用户显示首屏页面,该首屏页面只包含该网页的基本内容。
为了向用户显示有完整显示效果的页面,在向用户显示首屏页面之后,浏览器还可以对标签文件中所有的标签进行重新解析。
综上所述,本发明实施例一提供的网页解析方法通过在解析网页标签时,判断当前标签时脚本标签还是非脚本标签,根据判断结果暂不解析脚本标签而只解析非脚本标签,并根据对非脚本标签的解析结果向用户显示网页,达到加快网页显示速度,提高用户体验的目的。
实施例二
请参考图2,其示出了本实施例二提供的网页显示方法的方法流程图。该网页解析方法可以用于诸如智能手机、平板电脑之类的移动终端中,本实施例提供的网页解析方法可以包括:
步骤201,浏览器获取显示网页所需的标签文件;
实际应用中,浏览器接受显示某网页的指令,并根据指令从网络中获取该网页的标签文件。标签文件是一种可以被多种网页浏览器读取,产生网页传递各类资讯的文件,其中包含有很多个可解析的标签。网页标签文件的标签中包含有该网页的文字、图形、动画、声音、表格等内容,某些标签中还会包含有指向数据量较大的外部资源的网络地址链接。
另外,网页标签文件中的标签包括基于HTML语言编写的非脚本标签和基于javascript、vbscript等脚本语言编写的脚本标签。其中,非脚本标签中包含有显示网页基本网页所必须的内容,而脚本标签则大多用于增强网页显示效果。
步骤202,浏览器将解析状态设置为禁止脚本状态;
为了缩短向用户显示首屏页面的时间,本实施例提供的网页显示方法,通过设置禁止脚本状态达到在第一次解析网页时,只解析非脚本标签而暂不解析脚本标签的目的。在禁止脚本状态下解析网页的具体过程参见后续步骤。
步骤203,逐个解析标签文件中的标签;
浏览器按序对标签文件中的标签逐个进行解析,具体的解析过程参见下述步骤。
步骤204,判断当前标签是否为非脚本标签,如果是,进入步骤205,否则,进入步骤206;
标签文件中的标签均包含有与之对应的关键字,浏览器可以通过当前标签中的关键字判断该标签是否为非脚本标签。
步骤205,将当前标签的内容发送给解析器进行解析;
具体的,当前标签为非脚本标签时,浏览器会通过当前的非脚本标签中是否有外部资源的链接来判断当前的非脚本标签是否需要获取外部资源:
如果当前的非脚本标签需要获取外部资源,则根据外部资源链接发送获取外部资源的请求,并在外部资源到达后,将获取的外部资源与当前标签的内容一起发送给解析器进行解析;
如果当前的非脚本标签不需要获取外部资源,则直接将当前标签的内容发送给解析器进行解析。
步骤206,根据解析结果进行网页的排版和渲染,并显示首屏页面;
浏览器根据对非脚本标签的解析结果进行网页的排版和渲染,并将得到的该网页首屏页面显示给用户。
步骤207,将当前执行的标签的内容存储在本地缓存中;
具体的,当前标签为脚本标签时,将脚本标签的内容暂时存储在本地缓存中,并向解析器发送一个空的标签内容,这样解析器就可以忽略当前标签,继续解析下一个标签,从而达到暂不解析脚本标签的目的。
与此同时,浏览器还会通过当前的脚本标签中是否有外部资源的链接来判断当前的脚本标签是否需要获取外部资源:
如果当前的脚本标签需要获取外部资源,则浏览器会将获取的脚本标签外部资源和脚本标签原有内容一起存储在缓存中。具体的,浏览器可以根据外部资源链接发送获取外部资源的请求,并将获取外部资源的请求添加到脚本资源请求池中,以便后台下载外部资源;如果请求的外部资源真正获取到本地缓存,则浏览器将与该外部资源对应的获取外部资源的请求从脚本资源请求池中删除。
步骤208,浏览器将解析状态设置为允许脚本状态;
当浏览器向用户显示首屏页面后,需要解析状态设置为允许脚本状态,重新对所有标签进行解析,以便向用户显示具有完整显示效果的页面。
具体的,网页标签文件的最后会包含有网页结束符,浏览器在解析到网页结束符后,再判断脚本请求池是否为空:
如果脚本请求池中还有获取外部资源的请求,则说明还有脚本标签的外部资源没有到达,此时等待外部资源;
如果脚本请求池为空,则说明脚本标签的外部资源已经全部到达,此时浏览器可以将解析状态设置为允许脚本状态。
步骤209,逐个解析标签文件中的标签,将当前解析的标签的内容发送给解析器进行解析;
浏览器重新对标签文件中的标签逐个进行解析,具体的,浏览器将当前标签的内容发送给解析器进行解析,如果当前标签有需要获取的外部资源,则将本地缓存中在步骤205和步骤207中获取的该当前标签的外部资源和当前标签内容一起发送给解析器进行解析。
另外,如果需要获取外部资源的脚本标签在重新解析的过程中依然需要向外部发送获取外部资源的请求,则说明该脚本标签所需要获取的外部资源在步骤207中获取失败;此时,浏览器可以选择不再发送获取外部资源的请求,并取消该脚本标签的使用。
步骤210,根据解析结果进行网页的排版和渲染,并显示完整页面。
浏览器根据对标签文件中的所有标签的解析结果进行网页的排版和渲染,并将得到的该网页完整页面显示给用户。
需要说明的是,浏览器将解析状态设置为允许脚本状态后,重新开始解析标签时,也可以不解析非脚本标签,而是只解析禁止脚本状态下未解析的脚本标签,并根据对脚本标签的解析结果刷新先前显示的页面。
具体的,浏览器重新解析标签时,根据标签中的关键字判断当前标签是否为脚本标签:
如果当前标签是非脚本标签,则向解析器发送一个空的标签内容,使解析器跳过当前非脚本标签暂不解析;
如果当前标签是脚本标签,则将该脚本标签的内容发送给解析器进行解析,如果该脚本标签需要获取外部资源,则浏览器可以直接从本地缓存中读取已经接收到的该脚本标签对应的外部资源,并将该外部资源随该脚本标签内容一起发送给解析器。
另外,需要特别说明的是,上述方案中的解析器分两种,分别是对非脚本标签内容和资源进行解析的“HTML解析器”以及对脚本标签内容和资源进行解析的“JS引擎”,当浏览器对标签文件中的标签进行解析时,会根据标签类型(即非脚本标签或脚本标签)将标签内容和获取的外部资源发送给相应的“HTML解析器”或“JS引擎”进行解析(即将非脚本标签的内容和外部资源发送给“HTML解析器”,将脚本标签的内容和外部资源发送给“JS引擎”)。
综上所述,本实施例二所述的网页显示方法,通过在解析网页标签时,判断当前标签时脚本标签还是非脚本标签,根据判断结果暂不解析脚本标签而只解析非脚本标签,并根据对非脚本标签的解析结果向用户显示网页,达到加快网页显示速度,提高用户体验的目的;另外,还通过解析非脚本标签的同时,在后台获取并在本地缓存脚本标签的外部资源,并在显示首屏页面后重新解析全部标签时,直接提取本地缓存中已经获取的外部资源,达到显示首屏页面后快速显示完整页面的目的。
实施例三
请参考图3,其示出了本实施例三提供的网页显示装置的装置结构图。本实施例提供的装置结构具体可以包括:
获取模块301,用于获取显示网页所需的标签文件,标签文件中包含有非脚本标签和脚本标签;
解析模块302,用于对获取模块301获取的标签文件中的非脚本标签进行解析,对获取模块301获取的标签文件中的脚本标签仅获取所需的外部资源而暂不解析;
显示模块303,用于根据解析模块302的解析结果显示网页。
解析模块302,具体包括:
第一判断单元302a、解析单元302b、第二判断单元302c和请求发送单元302d;
第一判断单元302a,用于依次判断标签文件中的标签是非脚本标签还是脚本标签;
解析单元302b,用于如果第一判断单元302a判断标签文件中的标签是非脚本标签,则将非脚本标签的内容进行解析;
第二判断单元302c,用于如果第一判断单元302a判断标签文件中的标签是脚本标签,则继续判断脚本标签是否需要获取外部资源;
请求发送单元302d,用于如果第二判断单元302c判断脚本标签需要获取外部资源,则发送获取外部资源的请求;
第一判断单元302a,还用于在请求发送单元302d发送获取外部资源的请求之后,开始下一个标签的判断过程;
第一判断单元302a,还用于如果第二判断单元302c判断脚本标签不需要获取外部资源,开始下一个标签的判断过程。
请求发送单元302d发送获取外部资源的请求之后,该装置还包括:
添加模块304,用于将请求发送单元302d发送的获取外部资源的请求添加至脚本资源请求池中;
第一判断模块305,用于判断外部资源是否被获取至本地缓存;
移除模块306,用于如果第一判断模块305判断出外部资源被获取至本地缓存,则从脚本资源请求池中移除对应于外部资源的请求。
显示模块303根据标签文件中的非脚本标签的解析结果显示网页之后,该装置还包括:
第二判断模块307,用于判断脚本资源请求池中是否还包括获取外部资源的请求;
解析模块302,用于如果第二判断模块307判断脚本资源请求池中不包括获取外部资源的请求,则重新解析标签文件中的所有标签;
显示模块303,用于根据解析模块302的解析结果重新显示网页。
第一判断单元302a,用于依次判断标签文件中的标签是非脚本标签还是脚本标签;
解析单元302b,用于如果第一判断单元302a判断出标签文件中的标签为非脚本标签,则将非脚本标签的内容进行解析;
第二判断单元302c,用于如果第一判断单元302a判断出标签文件中的标签为脚本标签,则继续判断脚本标签是否需要获取外部资源;
解析单元302b,还用于如果第二判断单元302c判断脚本标签需要获取外部资源,则从本地缓存中获取外部资源,然后将脚本标签的内容和外部资源进行解析;
解析单元302b,还用于如果第二判断单元302c判断脚本标签不需要获取外部资源,则将脚本标签的内容进行解析。
需要说明的是,本发明实施例提供的装置,在重新解析标签文件时,也可以跳过已经解析的非脚本文件而只解析尚未解析的脚本文件:
显示模块303根据标签文件中的非脚本标签的解析结果显示网页之后,该装置还包括:
第二判断模块307,用于判断脚本资源请求池中是否还包括获取外部资源的请求;
解析模块302,还用于如果第二判断模块307判断脚本资源请求池中不包括获取外部资源的请求,则解析标签文件中的脚本标签;
显示模块303,还用于根据解析模块302的解析结果刷新显示网页。
具体的,第一判断单元302a,用于依次判断标签文件中的标签是非脚本标签还是脚本标签;
第一判断单元302a,还用于如果第一判断单元302a判断出标签文件中的标签是非脚本标签,则开始下一个标签的判断过程;
第二判断单元302c,用于如果第一判断单元302a判断出标签文件中的标签是脚本标签,则继续判断脚本标签是否需要获取外部资源;
解析单元302b,用于如果第二判断单元302c判断脚本标签需要获取外部资源,则从本地缓存中获取外部资源,然后将脚本标签的内容和外部资源进行解析;
解析单元302b,还用于如果第二判断单元302c判断脚本标签不需要获取外部资源,则将脚本标签的内容进行解析。
综上所述,本实施例三所述的网页显示装置,通过在解析网页标签时,判断当前标签时脚本标签还是非脚本标签,根据判断结果暂不解析脚本标签而只解析非脚本标签,并根据对非脚本标签的解析结果向用户显示网页,达到加快网页显示速度,提高用户体验的目的;另外,还通过解析非脚本标签的同时,在后台获取并在本地缓存脚本标签的外部资源,并在显示首屏页面后重新解析全部标签时,直接提取本地缓存中已经获取的外部资源,达到显示首屏页面后快速显示完整页面的目的。
需要说明的是:上述实施例提供的网页显示装置在显示网页时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网页显示装置与网页显示方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种网页显示方法,其特征在于,所述方法包括:
获取显示网页所需的标签文件,所述标签文件中包含有非脚本标签和脚本标签;
对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析;
根据所述标签文件中的非脚本标签的解析结果显示网页。
2.根据权利要求1所述的网页显示方法,其特征在于,所述对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析,具体包括:
依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
如果是非脚本标签,则将所述非脚本标签的内容进行解析;
如果是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
如果所述脚本标签需要获取外部资源,则发送获取所述外部资源的请求,并开始下一个标签的判断过程;
如果所述脚本标签不需要获取外部资源,则开始下一个标签的判断过程。
3.根据权利要求2所述的网页显示方法,其特征在于,所述发送获取所述外部资源的请求之后,还包括:
将获取所述外部资源的请求添加至脚本资源请求池中;
判断所述外部资源是否被获取至本地缓存;
如果是,则从所述脚本资源请求池中移除对应于所述外部资源的请求。
4.根据权利要求3所述的网页显示方法,其特征在于,所述根据所述标签文件中的非脚本标签的解析结果显示网页之后,还包括:
判断所述脚本资源请求池中是否还包括获取外部资源的请求;
如果否,则重新解析所述标签文件中的所有标签,并根据解析结果重新显示网页。
5.根据权利要求4所述的网页显示方法,其特征在于,所述重新解析所述标签文件中的所有标签,具体包括:
依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
如果是非脚本标签,则将所述非脚本标签的内容进行解析;
如果是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
如果所述脚本标签需要获取外部资源,则从所述本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;
如果所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。
6.根据权利要求3所述的网页显示方法,其特征在于,所述根据所述标签文件中的非脚本标签的解析结果显示网页之后,还包括:
判断所述脚本资源请求池中是否还包括获取外部资源的请求;
如果否,则解析所述标签文件中的脚本标签,并根据解析结果刷新显示网页。
7.根据权利要求6所述的网页显示方法,其特征在于,所述解析所述标签文件中的脚本标签,具体包括:
依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
如果是非脚本标签,则开始下一个标签的判断过程;
如果是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
如果所述脚本标签需要获取外部资源,则从所述本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;
如果所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。
8.一种网页显示装置,其特征在于,所述装置包括:
获取模块,用于获取显示网页所需的标签文件,所述标签文件中包含有非脚本标签和脚本标签;
解析模块,用于对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析;
显示模块,用于根据所述解析模块的解析结果显示网页。
9.根据权利要求8所述的网页显示装置,其特征在于,所述解析模块,具体包括:
第一判断单元、解析单元、第二判断单元和请求发送单元;
所述第一判断单元,用于依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
所述解析单元,用于如果所述第一判断单元判断所述标签文件中的标签是非脚本标签,则将所述非脚本标签的内容进行解析;
所述第二判断单元,用于如果第一判断单元判断所述标签文件中的标签是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
所述请求发送单元,用于如果所述第二判断单元判断所述脚本标签需要获取外部资源,则发送获取所述外部资源的请求;
所述第一判断单元,还用于在所述请求发送单元发送获取所述外部资源的请求之后,开始下一个标签的判断过程;
所述第一判断单元,还用于如果所述第二判断单元判断所述脚本标签不需要获取外部资源,开始下一个标签的判断过程。
10.根据权利要求9所述的网页显示装置,其特征在于,所述请求发送单元发送获取所述外部资源的请求之后,所述装置还包括:
添加模块,用于将所述请求发送单元发送的获取外部资源的请求添加至脚本资源请求池中;
第一判断模块,用于判断所述外部资源是否被获取至本地缓存;
移除模块,用于如果所述第一判断模块判断出所述外部资源被获取至本地缓存,则从脚本资源请求池中移除对应于所述外部资源的请求。
11.根据权利要求10所述的网页显示装置,其特征在于,所述显示模块根据所述标签文件中的非脚本标签的解析结果显示网页之后,所述装置还包括:
第二判断模块,用于判断所述脚本资源请求池中是否还包括获取外部资源的请求;
所述解析模块,还用于如果所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求,则重新解析所述标签文件中的所有标签;
所述显示模块,还用于根据所述解析模块的解析结果重新显示网页。
12.根据权利要求11所述的网页显示装置,其特征在于,所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求之后,
所述第一判断单元,用于依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
所述解析单元,用于如果所述第一判断单元判断出所述标签文件中的标签为非脚本标签,则将所述非脚本标签的内容进行解析;
所述第二判断单元,用于如果所述第一判断单元判断出所述标签文件中的标签为脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
所述解析单元,还用于如果所述第二判断单元判断所述脚本标签需要获取外部资源,则从本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;
所述解析单元,还用于如果所述第二判断单元判断所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。
13.根据权利要求10所述的网页显示装置,其特征在于,所述显示模块根据所述标签文件中的非脚本标签的解析结果显示网页之后,所述装置还包括:
第二判断模块,用于判断所述脚本资源请求池中是否还包括获取外部资源的请求;
所述解析模块,还用于如果所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求,则解析所述标签文件中的脚本标签;
所述显示模块,还用于根据所述解析模块的解析结果刷新显示网页。
14.根据权利要求13所述的网页显示装置,其特征在于,所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求之后,
所述第一判断单元,用于依次判断所述标签文件中的标签是非脚本标签还是脚本标签;
所述第一判断单元,还用于如果所述第一判断单元判断出所述标签文件中的标签是非脚本标签,则开始下一个标签的判断过程;
所述第二判断单元,用于如果所述第一判断单元判断出所述标签文件中的标签是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;
所述解析单元,用于如果所述第二判断单元判断所述脚本标签需要获取外部资源,则从本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;
所述解析单元,还用于如果所述第二判断单元判断所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210225485.5A CN103530289B (zh) | 2012-07-02 | 2012-07-02 | 网页显示方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210225485.5A CN103530289B (zh) | 2012-07-02 | 2012-07-02 | 网页显示方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103530289A true CN103530289A (zh) | 2014-01-22 |
CN103530289B CN103530289B (zh) | 2018-06-22 |
Family
ID=49932311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210225485.5A Active CN103530289B (zh) | 2012-07-02 | 2012-07-02 | 网页显示方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530289B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488175A (zh) * | 2015-12-01 | 2016-04-13 | 福建天晴数码有限公司 | 一种提高页面内容显示速度的方法及系统 |
CN106575303A (zh) * | 2015-04-20 | 2017-04-19 | 广州市动景计算机科技有限公司 | 显示网页的方法和设备 |
WO2018072388A1 (zh) * | 2016-10-19 | 2018-04-26 | 广州市动景计算机科技有限公司 | 网页预读方法、网页访问方法、设备及可编程设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262093A1 (en) * | 2004-05-20 | 2005-11-24 | Bea Systems, Inc. | Systems and methods for a collaboration client |
CN101382958A (zh) * | 2008-10-21 | 2009-03-11 | 深圳华为通信技术有限公司 | 网页加载方法和网页加载装置 |
CN101551819A (zh) * | 2009-04-30 | 2009-10-07 | 用友软件股份有限公司 | 渲染大型Web页面的方法 |
CN101669114A (zh) * | 2007-04-27 | 2010-03-10 | 微软公司 | 动态加载脚本 |
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN101763432A (zh) * | 2010-01-05 | 2010-06-30 | 北京大学 | 一种轻量级网页动态视图快速构建方法 |
CN101770519A (zh) * | 2010-03-03 | 2010-07-07 | 深圳市戴维尼科技有限公司 | 一种浏览器数据加载方法 |
CN101963987A (zh) * | 2010-09-30 | 2011-02-02 | 百度在线网络技术(北京)有限公司 | 一种用于生成网页文件和加载网页文件的方法与设备 |
-
2012
- 2012-07-02 CN CN201210225485.5A patent/CN103530289B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262093A1 (en) * | 2004-05-20 | 2005-11-24 | Bea Systems, Inc. | Systems and methods for a collaboration client |
CN101669114A (zh) * | 2007-04-27 | 2010-03-10 | 微软公司 | 动态加载脚本 |
CN101382958A (zh) * | 2008-10-21 | 2009-03-11 | 深圳华为通信技术有限公司 | 网页加载方法和网页加载装置 |
CN101551819A (zh) * | 2009-04-30 | 2009-10-07 | 用友软件股份有限公司 | 渲染大型Web页面的方法 |
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN101763432A (zh) * | 2010-01-05 | 2010-06-30 | 北京大学 | 一种轻量级网页动态视图快速构建方法 |
CN101770519A (zh) * | 2010-03-03 | 2010-07-07 | 深圳市戴维尼科技有限公司 | 一种浏览器数据加载方法 |
CN101963987A (zh) * | 2010-09-30 | 2011-02-02 | 百度在线网络技术(北京)有限公司 | 一种用于生成网页文件和加载网页文件的方法与设备 |
Non-Patent Citations (3)
Title |
---|
匿名: ""用ControlJS优化Javascript加载速度"", 《HTTP://ASDFBLOG.COM/CONTROLJS.HTML》 * |
啊T: "Javascript异步加载详解", 《HTTP://WWW.CNBLOGS.COM/TIWLIN/ARCHIVE/2011/12/26/2302554.HTML》 * |
韩国恺: "Javascript异步加载详解", 《HTTP://HAN.GUOKAI.BLOG.163.COM/BLOG/STATIC/1367182712011115105841181/》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106575303A (zh) * | 2015-04-20 | 2017-04-19 | 广州市动景计算机科技有限公司 | 显示网页的方法和设备 |
CN106575303B (zh) * | 2015-04-20 | 2021-09-24 | 阿里巴巴(中国)有限公司 | 显示网页的方法和设备 |
CN105488175A (zh) * | 2015-12-01 | 2016-04-13 | 福建天晴数码有限公司 | 一种提高页面内容显示速度的方法及系统 |
CN105488175B (zh) * | 2015-12-01 | 2019-02-12 | 福建天晴数码有限公司 | 一种提高页面内容显示速度的方法及系统 |
WO2018072388A1 (zh) * | 2016-10-19 | 2018-04-26 | 广州市动景计算机科技有限公司 | 网页预读方法、网页访问方法、设备及可编程设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103530289B (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102436987B1 (ko) | 웹페이지 콘텐츠를 추출하기 위한 방법 및 단말 장치 | |
US10754917B2 (en) | Method and system for displaying customized webpage on double webview | |
CN111274760B (zh) | 富文本数据处理方法、装置、电子设备及计算机存储介质 | |
CN106991154B (zh) | 网页渲染方法、装置、终端及服务器 | |
JP2019032883A (ja) | ウェブアプリケーションを実施する方法、装置、サーバ、及びシステム | |
CN104063401B (zh) | 一种网页样式地址合并的方法和装置 | |
CN106611032A (zh) | 一种网页预加载的方法及装置 | |
CN104133884A (zh) | 显示网页的方法及装置 | |
CN103678343A (zh) | 提示网页加载进度的方法和装置 | |
CN105955593B (zh) | 一种呈现讨论信息的方法和装置 | |
CN106033361A (zh) | 一种应用页面呈现、应用页面数据更新方法及装置 | |
CN102663050B (zh) | 电子书数据处理方法与装置 | |
US10768947B2 (en) | Method for interface refresh synchronization,terminal device, and non-transitory computer-readable storage medium | |
WO2018072388A1 (zh) | 网页预读方法、网页访问方法、设备及可编程设备 | |
Firtman | High Performance Mobile Web: Best Practices for Optimizing Mobile Web Apps | |
CN103530289A (zh) | 网页显示方法和装置 | |
CN112507259A (zh) | 网页加载方法及装置、电子设备、存储介质 | |
CN103581987A (zh) | 移动终端设备的网页下载速度的测试方法及装置 | |
CN111783008B (zh) | 一种信息显示方法、装置、设备及介质 | |
CN111552463A (zh) | 一种页面跳转方法、装置、计算机设备及存储介质 | |
US11709991B2 (en) | Detecting truncation and overlap defects on webpage | |
CN104156421A (zh) | 页面的展现方法、装置及系统 | |
CN111783010B (zh) | 网页空白页面监测方法、装置、终端及存储介质 | |
CN103488735A (zh) | 终端浏览器页面刷新显示的方法及终端 | |
CN106156291A (zh) | 基于Localstroage的静态资源的缓存方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221128 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518133 Patentee after: Shenzhen Yayue Technology Co.,Ltd. Address before: 2 East 403 room, SEG science and technology garden, Futian District, Guangdong, Shenzhen 518000, China Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |