[发明专利]脚本文件的加载方法、脚本文件生成方法及装置有效
申请号: | 201510080503.9 | 申请日: | 2015-02-13 |
公开(公告)号: | CN104572230B | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 谭国斌;马哲;沈建荣 | 申请(专利权)人: | 小米科技有限责任公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 11415 北京博思佳知识产权代理有限公司 | 代理人: | 林祥 |
地址: | 100085 北京市海淀区清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 脚本 文件 加载 方法 生成 装置 | ||
本公开是关于一种脚本文件的加载方法、脚本文件生成方法及装置,用以避免浏览器在加载脚本文件的过程中产生阻塞现象。所述脚本文件的加载方法包括:当浏览器需要加载脚本文件时,向缓存服务器发送所述脚本文件的文件列表,通知所述浏览器通过异步加载的方式执行单进程中的任务;接收所述缓存服务器根据所述文件列表生成的新的脚本文件;通知所述浏览器停止执行所述单进程中的任务,通过所述单进程加载所述新的脚本文件。本公开技术方案可以有效地避免在加载脚本文件的过程中产生的阻塞现象。
技术领域
本公开涉及网络技术领域,尤其涉及一种脚本文件的加载方法、脚本文件生成方法及装置。
背景技术
浏览器通过使用单进程处理用户界面(UI)和更新javascript(js)运行等多个任务,由于单进程在同一时间只能执行一个任务,Javascript运行多长时间,浏览器等待的时间就有多长,因此在浏览器加载js脚本文件的流程中,会出现因js脚本的解析、运行等使整个浏览器的页面处于等待状态,也即,在js脚本加载的过程中,浏览器的页面解析、浏览器与用户的交互是完全阻塞的,对于用户而言,浏览器的网页处于“假死”状态,此时用户是无法与浏览器进行交互的。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种脚本文件的加载方法、脚本文件生成方法及装置,用以避免浏览器在加载脚本文件的过程中产生阻塞现象。
根据本公开实施例的第一方面,提供一种脚本文件的加载方法,应用在终端设备上,包括:
当浏览器需要加载脚本文件时,向缓存服务器发送所述脚本文件的文件列表,通知所述浏览器通过异步加载的方式执行单进程中的任务;
接收所述缓存服务器根据所述文件列表生成的新的脚本文件;
通过所述单进程加载所述新的脚本文件。
在一实施例中,所述新的脚本文件中的函数逻辑关系可以由所述需要加载的脚本文件之间的函数逻辑关系确定,所述通过所述单进程加载所述新的脚本文件,可包括:
根据所述新的脚本文件中的函数逻辑关系通过所述单进程加载所述新的脚本文件。
根据本公开实施例的第二方面,提供一种脚本文件生成方法,应用在缓存服务器上,包括:
接收浏览器需要加载的脚本文件的文件列表;
根据所述文件列表确定所述浏览器需要加载的新的脚本文件,所述新的脚本文件的函数逻辑关系与所述需要加载的脚本文件的函数逻辑关系相一致;
将所述新的脚本文件发送给所述浏览器。
在一实施例中,所述根据所述文件列表确定所述浏览器需要加载的新的脚本文件,可包括:
检测所述缓存服务器上是否存储所述文件列表中的脚本文件;
如果所述缓存服务器存储有所述文件列表中的脚本文件,根据所述文件列表生成所述浏览器需要加载的新的脚本文件;
如果所述缓存服务器未存储有所述文件列表中的脚本文件,向web服务器获取所述新的脚本文件。
在一实施例中,所述向web服务器获取所述新的脚本文件,可包括:
向所述web服务器发送所述文件列表;
接收所述web服务器根据所述文件列表生成的所述新的脚本文件。
根据本公开实施例的第三方面,提供一种脚本文件的加载装置,应用在终端设备上,包括:
第一发送模块,被配置为当浏览器需要加载脚本文件时,向缓存服务器发送所述脚本文件的文件列表,通知所述浏览器通过异步加载的方式执行单进程中的任务;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于小米科技有限责任公司,未经小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510080503.9/2.html,转载请声明来源钻瓜专利网。