本发明专利技术公开了一种网页显示方法和装置,属于计算机领域。所述方法包括:获取显示网页所需的标签文件,所述标签文件中包含有非脚本标签和脚本标签;对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析;根据所述标签文件中的非脚本标签的解析结果显示网页。本发明专利技术通过在解析网页标签时,判断当前标签时脚本标签还是非脚本标签,根据判断结果暂不解析脚本标签而只解析非脚本标签,并根据对非脚本标签的解析结果向用户显示网页,达到加快网页显示速度,提高用户体验的目的。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种网页显示方法和装置,属于计算机领域。所述方法包括:获取显示网页所需的标签文件,所述标签文件中包含有非脚本标签和脚本标签;对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析;根据所述标签文件中的非脚本标签的解析结果显示网页。本专利技术通过在解析网页标签时,判断当前标签时脚本标签还是非脚本标签,根据判断结果暂不解析脚本标签而只解析非脚本标签,并根据对非脚本标签的解析结果向用户显示网页,达到加快网页显示速度,提高用户体验的目的。【专利说明】网页显示方法和装置
本专利技术涉及计算机领域,特别涉及一种网页显示方法和装置。
技术介绍
随着计算机行业的不断发展,网络的应用越来越普及。通过浏览器,人们可以在网络中获取自己感兴趣的信息、向他人发布自己的状态以及基于网页页面同好友进行交流等。当用户通过浏览器打开某网页时,浏览器需要对该网页进行解析,以便于根据解析结果进行网页的排版和渲染。解析网页时,浏览器首先获取显示网页所需的标签文件,该标签文件中包含有很多个可执行的标签。现有的网页解析方法在解析网页时,会逐个执行获取到的标签:如果待执行的标签不需要获取外部资源,则直接将该标签的内容发送给解析器进行解析;如果待执行的标签需要获取外部资源,则暂停解析流程并发送获取外部资源的请求,当获取到该标签对应的外部资源之后,再将该标签的内容和对应的外部资源发送给解析器进行解析。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:显示网页所需的标签文件中,包括通常由HTML (Hypertext Markup Language,超文本标记语言)语言编辑的非脚本标签和通常由JS (也即javascript)语言编辑的脚本标签。现有技术在执行脚本标签的过程中,如果这些脚本标签需要获取外部资源,则需要暂停解析流程来等待外部资源的获取,而这些外部资源往往数据量较大,导致浪费较多时间,影响首屏页面的显示速度。尤其是在嵌入式设备等网络带宽较低的设备上,这种情况尤为明显。
技术实现思路
为了解决首屏页面显示速度慢,用户体验差的问题,本专利技术实施例提供了一种网页显示方法和装置。所述技术方案如下:一方面,提供一种网页显示方法,所述网页显示方法包括:获取显示网页所需的标签文件,所述标签文件中包含有非脚本标签和脚本标签;对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析;根据所述标签文件中的非脚本标签的解析结果显示网页。进一步地,所述对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析,具体包括:依次判断所述标签文件中的标签是非脚本标签还是脚本标签;如果是非脚本标签,则将所述非脚本标签的内容进行解析;如果是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;如果所述脚本标签需要获取外部资源,则发送获取所述外部资源的请求,并开始下一个标签的判断过程;如果所述脚本标签不需要获取外部资源,则开始下一个标签的判断过程。进一步地,所述发送获取所述外部资源的请求之后,还包括:将获取所述外部资源的请求添加至脚本资源请求池中;判断所述外部资源是否被获取至本地缓存;如果是,则从所述脚本资源请求池中移除对应于所述外部资源的请求。进一步地,所述根据所述标签文件中的非脚本标签的解析结果显示网页之后,还包括:判断所述脚本资源请求池中是否还包括获取外部资源的请求;如果否,则重新解析所述标签文件中的所有标签,并根据解析结果重新显示网页。进一步地,所述重新解析所述标签文件中的所有标签,具体包括:依次判断所述标签文件中的标签是非脚本标签还是脚本标签;如果是非脚本标签,则将所述非脚本标签的内容进行解析;如果是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;如果所述脚本标签需要获取外部资源,则从所述本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;如果所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。进一步地,所述根据所述标签文件中的非脚本标签的解析结果显示网页之后,还包括:判断所述脚本资源请求池中是否还包括获取外部资源的请求;如果否,则解析所述标签文件中的脚本标签,并根据解析结果刷新显示网页。进一步地,所述解析所述标签文件中的脚本标签,具体包括:依次判断所述标签文件中的标签是非脚本标签还是脚本标签;如果是非脚本标签,则开始下一个标签的判断过程;如果是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;如果所述脚本标签需要获取外部资源,则从所述本地缓存中获取所述外部资源,然后将所述脚本标签的内容和所述外部资源进行解析;如果所述脚本标签不需要获取外部资源,则将所述脚本标签的内容进行解析。另一方面,提供一种网页显示装置,所述网页显示装置包括:获取模块,用于获取显示网页所需的标签文件,所述标签文件中包含有非脚本标签和脚本标签;解析模块,用于对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析;显示模块,用于根据所述解析模块的解析结果显示网页。进一步地,所述解析模块,具体包括:第一判断单元、解析单元、第二判断单元和请求发送单元;所述第一判断单元,用于依次判断所述标签文件中的标签是非脚本标签还是脚本标签;所述解析单元,用于如果所述第一判断单元判断所述标签文件中的标签是非脚本标签,则将所述非脚本标签的内容进行解析;所述第二判断单元,用于如果第一判断单元判断所述标签文件中的标签是脚本标签,则继续判断所述脚本标签是否需要获取外部资源;所述请求发送单元,用于如果所述第二判断单元判断所述脚本标签需要获取外部资源,则发送获取所述外部资源的请求;所述第一判断单元,还用于在所述请求发送单元发送获取所述外部资源的请求之后,开始下一个标签的判断过程;所述第一判断单元,还用于如果所述第二判断单元判断所述脚本标签不需要获取外部资源,开始下一个标签的判断过程。进一步地,所述请求发送单元发送获取所述外部资源的请求之后,所述装置还包括:添加模块,用于将所述请求发送单元发送的获取外部资源的请求添加至脚本资源请求池中;第一判断模块,用于判断所述外部资源是否被获取至本地缓存;移除模块,用于如果所述第一判断模块判断出所述外部资源被获取至本地缓存,则从脚本资源请求池中移除对应于所述外部资源的请求。进一步地,所述显示模块根据所述标签文件中的非脚本标签的解析结果显示网页之后,所述装置还包括:第二判断模块,用于判断所述脚本资源请求池中是否还包括获取外部资源的请求;所述解析模块,还用于如果所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求,则重新解析所述标签文件中的所有标签;所述显示模块,还用于根据所述解析模块的解析结果重新显示网页。进一步地,所述第二判断模块判断所述脚本资源请求池中不包括获取外部资源的请求之后,所述第一判断单元,用于依次判断所述标签文件中的标签是非脚本标签还是脚本标签;所述解析单元,用于如果所述第一判断单元判断出所述标签文件中的标签为非脚本标签,则将所述非脚本标签的内容进行解析;所述第二判断单元,用于如果所述第一判断单元判断出所述标签文件中的标签为脚本标签,本文档来自技高网...
【技术保护点】
一种网页显示方法,其特征在于,所述方法包括:获取显示网页所需的标签文件,所述标签文件中包含有非脚本标签和脚本标签;对所述标签文件中的非脚本标签进行解析,对所述标签文件中的脚本标签仅获取所需的外部资源而暂不解析;根据所述标签文件中的非脚本标签的解析结果显示网页。
【技术特征摘要】
【专利技术属性】
技术研发人员:郭辛华,孔利,沈锦龙,苏可,饶孟良,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。