脚本文件的加载方法、脚本文件生成方法及装置的制造方法

文档序号:8258110阅读:356来源:国知局
脚本文件的加载方法、脚本文件生成方法及装置的制造方法
【技术领域】
[0001]本公开涉及网络技术领域,尤其涉及一种脚本文件的加载方法、脚本文件生成方法及装置。
【背景技术】
[0002]浏览器通过使用单进程处理用户界面(UI)和更新javascript (js)运行等多个任务,由于单进程在同一时间只能执行一个任务,Javascript运行多长时间,浏览器等待的时间就有多长,因此在浏览器加载js脚本文件的流程中,会出现因js脚本的解析、运行等使整个浏览器的页面处于等待状态,也即,在js脚本加载的过程中,浏览器的页面解析、浏览器与用户的交互是完全阻塞的,对于用户而言,浏览器的网页处于“假死”状态,此时用户是无法与浏览器进行交互的。

【发明内容】

[0003]为克服相关技术中存在的问题,本公开实施例提供一种脚本文件的加载方法、脚本文件生成方法及装置,用以避免浏览器在加载脚本文件的过程中产生阻塞现象。
[0004]根据本公开实施例的第一方面,提供一种脚本文件的加载方法,应用在终端设备上,包括:
[0005]当浏览器需要加载脚本文件时,向缓存服务器发送所述脚本文件的文件列表,通知所述浏览器通过异步加载的方式执行单进程中的任务;
[0006]接收所述缓存服务器根据所述文件列表生成的新的脚本文件;
[0007]通过所述单进程加载所述新的脚本文件。
[0008]在一实施例中,所述新的脚本文件中的函数逻辑关系可以由所述需要加载的脚本文件之间的函数逻辑关系确定,所述通过所述单进程加载所述新的脚本文件,可包括:
[0009]根据所述新的脚本文件中的函数逻辑关系通过所述单进程加载所述新的脚本文件。
[0010]根据本公开实施例的第二方面,提供一种脚本文件生成方法,应用在缓存服务器上,包括:
[0011]接收浏览器需要加载的脚本文件的文件列表;
[0012]根据所述文件列表确定所述浏览器需要加载的新的脚本文件,所述新的脚本文件的函数逻辑关系与所述两个以上的脚本文件的函数逻辑关系相一致;
[0013]将所述新的脚本文件发送给所述浏览器。
[0014]在一实施例中,所述根据所述文件列表确定所述浏览器需要加载的新的脚本文件,可包括:
[0015]检测所述缓存服务器上是否存储所述文件列表中的脚本文件;
[0016]如果所述缓存服务器存储有所述文件列表中的脚本文件,根据所述文件列表生成所述浏览器需要加载的新的脚本文件;
[0017]如果所述缓存服务器未存储有所述文件列表中的脚本文件,向web浏览器获取所述新的脚本文件。
[0018]在一实施例中,所述向web浏览器获取所述新的脚本文件,可包括:
[0019]向所述web服务器发送所述文件列表;
[0020]接收所述web服务器根据所述文件列表生成的所述新的脚本文件。
[0021]根据本公开实施例的第三方面,提供一种脚本文件的加载装置,应用在终端设备上,包括:
[0022]第一发送模块,被配置为当所述浏览器需要加载脚本文件时,向缓存服务器发送所述脚本文件的文件列表,通知所述浏览器通过异步加载的方式执行单进程中的任务;
[0023]第一接收模块,被配置为接收所述缓存服务器根据所述第一发送模块发送的所述文件列表生成的新的脚本文件;
[0024]加载模块,被配置为通知所述浏览器停止执行所述单进程中的任务,通过所述单进程加载所述第一接收模块接收到的所述新的脚本文件。
[0025]在一实施例中,所述新的脚本文件中的函数逻辑关系可以由所述需要加载的脚本文件之间的函数逻辑关系确定,所述加载模块可包括:
[0026]加载子模块,被配置为根据所述第一接收模块接收到的所述新的脚本文件中的函数逻辑关系通过所述单进程加载所述新的脚本文件。
[0027]根据本公开实施例的第四方面,提供一种脚本文件的生成装置,应用在缓存服务器上,包括:
[0028]第二接收模块,被配置为接收浏览器需要加载的脚本文件的文件列表;
[0029]确定模块,被配置为根据所述第二接收模块接收到的所述文件列表确定所述浏览器需要加载的新的脚本文件,所述新的脚本文件的函数逻辑关系与所述两个以上的脚本文件的函数逻辑关系相一致;
[0030]第二发送模块,被配置为将所述确定模块确定的所述新的脚本文件发送给所述浏
IIA- PLP
ο
[0031]在一实施例中,所述确定模块可包括:
[0032]检测子模块,被配置为检测所述缓存服务器上是否存储所述第二接收模块接收到的所述文件列表中的脚本文件;
[0033]生成子模块,被配置为如果所述检测子模块检测到所述缓存服务器存储有所述文件列表中的脚本文件,根据所述文件列表生成所述浏览器需要加载的新的脚本文件;
[0034]获取子模块,被配置为如果所述检测子模块检测到所述缓存服务器未存储有所述文件列表中的脚本文件,向web浏览器获取所述新的脚本文件。
[0035]在一实施例中,所述获取子模块可包括:
[0036]发送子模块,被配置为向所述web服务器发送所述文件列表;
[0037]接收子模块,被配置为接收所述web服务器根据所述发送子模块发送的所述文件列表生成的所述新的脚本文件。
[0038]根据本公开实施例的第五方面,提供一种脚本文件的加载装置,包括:
[0039]处理器;
[0040]用于存储处理器可执行指令的存储器;[0041 ] 其中,所述处理器被配置为:
[0042]当浏览器需要加载脚本文件时,向缓存服务器发送所述脚本文件的文件列表,通知所述浏览器通过异步加载的方式执行单进程中的任务;
[0043]接收所述缓存服务器根据所述文件列表生成的新的脚本文件;
[0044]通知所述浏览器停止执行所述单进程中的任务,通过所述单进程加载所述新的脚本文件。
[0045]根据本公开实施例的第六方面,提供一种脚本文件生成装置,包括:
[0046]处理器;
[0047]用于存储处理器可执行指令的存储器;
[0048]其中,所述处理器被配置为:
[0049]接收浏览器需要加载的脚本文件的文件列表;
[0050]根据所述文件列表确定所述浏览器需要加载的新的脚本文件,所述新的脚本文件的函数逻辑关系与所述两个以上的脚本文件的函数逻辑关系相一致;
[0051]将所述新的脚本文件发送给所述浏览器。
[0052]本公开的实施例提供的技术方案可以包括以下有益效果:当浏览器需要加载脚本文件时,由于浏览器仍可以通过异步加载的方式执行单进程中的任务,由于浏览器并没有一直处于等待加载浏览器当前需要加载的脚本文件,而是还可以继续执行单进程中的例如页面解析等任务,因此浏览器与用户的交互是正常的;只有当接收到新的脚本文件时,浏览器停止执行单进程中的任务,并通过单进程加载新的脚本文件,由于整个脚本文件的加载过程并没有使浏览器处于等待过程,因此本公开实施例可以有效地避免在加载脚本文件的过程中产生的阻塞现象。
[0053]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0054]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0055]图1是根据一示例性实施例示出的脚本文件的加载方法的流程图。
[0056]图2是根据一示例性实施例一示出的脚本文件的加载方法的流程图。
[0057]图3是根据一示例性实施例示出的脚本文件生成方法的流程图。
[0058]图4A是根据一示例性实施例一示出的脚本文件生成方法的流程图。
[0059]图4B是根据一示例性实施例一示出的脚本文件生成方法的场景图。
[0060]图5是根据一示例性实施例示出的脚本文件的加载装置的框图。
[0061]图6是根据一示例性实施例示出的另一种脚本文件的加载装置的框图。
[0062]图7是根据一示例性实施例示出的脚本文件生成装置的框图。
[0063]图8是根据一示例性实施例示出的另一种脚本文件生成装置的框图。
[0064]图9是根据一示例性实施例示出的一种适用于脚本文件的加载装置的框图。
[0065]图10是根据一示例性实施例示出的一种适用于脚本文件生成装置的框图。
【具体实施方式】
[0066]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1