[发明专利]一种延迟加载JS脚本的方法和装置有效
申请号: | 201811224627.X | 申请日: | 2018-10-19 |
公开(公告)号: | CN109343908B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 郑家兴 | 申请(专利权)人: | 网宿科技股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F16/955 |
代理公司: | 北京华智则铭知识产权代理有限公司 11573 | 代理人: | 刘荣鑫 |
地址: | 201800 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 延迟 加载 js 脚本 方法 装置 | ||
本发明公开了一种延迟加载JS脚本的方法和装置,属于网页处理技术领域。所述方法包括:判断目标浏览器是否支持async属性的按序执行功能;如果支持,则基于待延迟加载的各个JS脚本的URL地址创建每个所述JS脚本的脚本标签,并对每个所述脚本标签设置async=false;按照各个所述JS脚本的脚本执行顺序,依次将每个所述脚本标签插入到HTML文档,以使所述目标浏览器并行下载各个所述JS脚本,并按照所述脚本执行顺序执行每个所述JS脚本。采用本发明,可以提高JS脚本的延迟加载效率。
技术领域
本发明涉及网页处理技术领域,特别涉及一种延迟加载JS脚本的方法和装置。
背景技术
网页中往往包含有各类资源,如文字、图片、音频和视频等资源。网页浏览器对网页的打开速度与该网页中各资源的加载完成情况相关,如果网页浏览器对该网页中各资源完成加载的用时越短,则打开该网页速度越快。
在上述各类资源中,JS(JavaScript)脚本较为特殊,其对网页的加载完成情况不产生影响,但会对网页的加载时间产生影响。JS脚本具有如下的加载逻辑:网页浏览器在下载完成JS脚本后,会立即执行该JS脚本,同时会对网页中的后续资源停止加载。由于JS脚本的执行时间往往较长,因此当网页中的JS脚本较多时,会大大增加网页的加载时间,极大地降低网页打开速度。为了提高网页打开速度,可以对网页中的各JS脚本进行延迟加载,即在网页加载完成后再对网页中的各JS脚本进行加载。由于各JS脚本之间可能存在执行依赖,如果不按照各JS脚本的脚本执行顺序执行,将会出现未定义错误或逻辑错误,因此还需要保证各JS脚本按照其脚本执行顺序进行执行,例如普遍采用的串行下载方式。具体的,当监听到网页加载完成的相应事件时,可以按照脚本执行顺序对所有待延迟加载的JS脚本依次进行如下处理:基于JS脚本的URL(Uniform Resource Locator,统一资源定位符)地址创建该JS脚本的脚本标签,将脚本标签插入到网页的HTML(HyperText Markup Language,超文本标记语言)文档,以触发网页浏览器对该JS脚本的下载及执行,之后,当监听到该JS脚本执行完毕时,再对下一个JS脚本重复上述处理,直至所有待延迟加载的JS脚本执行完毕。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在上述串行下载方式中,网页浏览器必须按照脚本执行顺序对网页中的各JS脚本一个一个地进行下载,且后一个JS脚本需要在前一个JS脚本执行完毕后才可以进行下载,耗费了大量的时间用于JS脚本的下载,导致网页浏览器需要较长时间才可以加载完成JS脚本,故而JS脚本的延迟加载效率较低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种延迟加载JS脚本的方法和装置。所述技术方案如下:
第一方面,提供了一种延迟加载JS脚本的方法,所述方法包括:
判断目标浏览器是否支持async属性的按序执行功能;
如果支持,则基于待延迟加载的各个JS脚本的URL地址创建每个所述JS脚本的脚本标签,并对每个所述脚本标签设置async=false;
按照各个所述JS脚本的脚本执行顺序,依次将每个所述脚本标签插入到HTML文档,以使所述目标浏览器并行下载各个所述JS脚本,并按照所述脚本执行顺序执行每个所述JS脚本。
进一步的,所述判断目标浏览器是否支持async属性的按序执行功能,包括:
获取记录有不支持async属性的按序执行功能的浏览器的预设浏览器名单;
如果所述预设浏览器名单中存在所述目标浏览器,则判断所述目标浏览器不支持async属性的按序执行功能,否则判断所述目标浏览器支持async属性的按序执行功能。
进一步的,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网宿科技股份有限公司,未经网宿科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811224627.X/2.html,转载请声明来源钻瓜专利网。