CN105989091A - 用于页面显示的js文件加载方法、装置及*** - Google Patents

用于页面显示的js文件加载方法、装置及*** Download PDF

Info

Publication number
CN105989091A
CN105989091A CN201510075862.5A CN201510075862A CN105989091A CN 105989091 A CN105989091 A CN 105989091A CN 201510075862 A CN201510075862 A CN 201510075862A CN 105989091 A CN105989091 A CN 105989091A
Authority
CN
China
Prior art keywords
file
menu
mark
business
current set
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
Application number
CN201510075862.5A
Other languages
English (en)
Other versions
CN105989091B (zh
Inventor
屈传鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510075862.5A priority Critical patent/CN105989091B/zh
Publication of CN105989091A publication Critical patent/CN105989091A/zh
Application granted granted Critical
Publication of CN105989091B publication Critical patent/CN105989091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种用于页面显示的JS文件加载方法、装置及***,该方法包括:接收客户端发送的第一URL和用户标识;确定第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识;生成第二URL,将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中发送给客户端,以使客户端确定当前菜单,从第二URL的变量属性中获取当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识,并获取JS文件。该方案节省服务器和网络带宽资源;并且缩短JS文件加载的时间,从而减少页面显示的时间。

Description

用于页面显示的JS文件加载方法、装置及***
技术领域
本申请涉及网络技术领域,尤其涉及一种用于页面显示的JS文件加载方法、装置及***。
背景技术
随着网络技术的飞速发展,互联网上提供的信息越来越丰富,越来越多的用户通过客户端从互联网上获取信息,客户端可以通过显示页面向用户提供信息。通常页面中包括多个菜单,每个菜单中又包括多个区块,该网页有对应的入口JS(JavaScript)文件,每个菜单也有对应的入口JS文件,每个区块也有对应的业务JS文件,为了显示页面,客户端需要加载该页面包括的菜单对应的入口JS文件以及每个菜单包括的区块对应的业务JS文件,下面详细介绍目前客户端加载这些JS文件的过程。
当用户需要浏览某个页面时,客户端向应用服务器发送携带该页面的统一资源定位符(Uniform Resource Locator,URL)的访问请求;应用服务器获取该页面对应的超文本标记语言(HyperText Mark-up Language,HTML)文件,并从该HTML文件中解析出该页面对应的入口JS文件的标识以及该页面依赖的菜单对应的入口JS文件的标识,将解析出的入口JS文件的标识进行合并后放入一个新URL的标签属性中,将新URL发送给客户端;客户端接收到新URL后,解析新URL的标签属性中携带的所有入口JS文件的标识,向静态资源服务器发送携带这些入口JS文件的标识的文件获取请求;静态资源服务器将这些入口JS文件发送给客户端;客户端确定用户选择的当前菜单,向应用服务器发送携带当前菜单和用户标识的标识获取请求;应用服务器确定该用户标识在当前菜单下自定义区块对应的业务JS文件的标识,并发送给客户端;客户端采用异步加载的方式加载用户在当前菜单下自定义区块及其所依赖的区块对应的业务JS文件。
上述方法中,用户需要浏览某个页面时,该页面对应的入口JS文件以及该页面依赖的所有菜单对应的入口JS文件都会被加载,而事实上用户可能只浏览其中的部分菜单,并不会浏览所有的菜单,但是客户端需要加载该页面依赖的所有菜单对应的入口JS文件,由于加载了很多无用的入口JS文件,从而严重浪费服务器和网络带宽资源;其次,客户端加载用户自定义区块及其依赖的区块对应的业务JS文件时,采用异步加载的方式,这就会延长JS文件加载的时间,从而延长页面显示的时间。
发明内容
本申请实施例提供一种用于页面显示的JS文件加载方法、装置及***,用以解决现有技术中存在的严重浪费服务器和网络带宽资源,以及延长JS文件加载的时间的问题。
根据本申请实施例,提供一种用于页面显示的JS文件加载方法,包括:
接收客户端发送的第一统一资源定位符URL和用户标识;
确定所述第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识;
生成第二URL,将每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到所述第二URL的变量属性中,发送给所述客户端,以使所述客户端确定当前菜单,从所述第二URL的变量属性中获取所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识,并获取JS文件,所述JS文件包括所述当前菜单对应的入口JS文件以及所述当前菜单下自定义区块对应的业务JS文件。
具体的,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识,具体包括:
从预先保存的标识文本中获取每个菜单对应的入口JS文件的标识;
从用户数据库中获取所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
根据本申请实施例,还提供一种用于页面显示的JS文件加载方法,应用于客户端中,包括:
向应用服务器发送第一统一资源定位符URL和用户标识,以使所述应用服务器确定所述第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识,生成第二URL,将每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到所述第二URL的变量属性中并发送;
接收所述第二URL;
确定当前菜单,从所述第二URL的变量属性中获取所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识;
获取JS文件,所述JS文件包括所述当前菜单对应的入口JS文件以及所述当前菜单下自定义区块对应的业务JS文件。
具体的,获取JS文件,具体包括:
向静态资源服务器发送所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识,以使所述静态资源服务器获取所述JS文件;
接收所述静态资源服务器发送的所述JS文件。
可选的,还包括:
将所述第二URL的变量属性中携带的每个菜单相关的标识进行去重,并将重复的标识保存在通用组中,将去重后的每个菜单相关的标识保存在对应菜单的分组中,每个菜单相关的标识包括每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识;
获取JS文件,具体包括:
检测本地是否保存所述通用组包括的标识对应的业务JS文件;
若本地保存所述通用组包括的标识对应的业务JS文件,则向静态资源服务器发送所述当前菜单的分组包括的标识,以使所述静态资源服务器获取所述当前菜单的分组包括的标识对应的JS文件并发送,接收所述静态资源服务器发送的JS文件,并从本地获取所述通用组包括的标识对应的业务JS文件,将接收的所述静态资源服务器发送的JS文件和从本地获取的业务JS文件确定为所述JS文件;
若本地未保存所述通用组包括的标识对应的业务JS文件,则向静态资源服务器发送所述通用组包括的标识和所述当前菜单的分组包括的标识,以使所述静态资源服务器获取所述通用组包括的标识和所述当前菜单的分组包括的标识对应的JS文件并发送;接收所述静态资源服务器发送的JS文件,将接收的所述静态资源服务器发送的JS文件确定为所述JS文件。
根据本申请实施例,还提供一种用于页面显示的JS文件加载装置,包括:
接收单元,用于接收客户端发送的第一统一资源定位符URL和用户标识;
获取单元,用于确定所述第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识;
发送单元,用于生成第二URL,将每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到所述第二URL的变量属性中,发送给所述客户端,以使所述客户端确定当前菜单,从所述第二URL的变量属性中获取所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识,并获取JS文件,所述JS文件包括所述当前菜单对应的入口JS文件以及所述当前菜单下自定义区块对应的业务JS文件。
具体的,所述获取单元,具体用于:
从预先保存的标识文本中获取每个菜单对应的入口JS文件的标识;
从用户数据库中获取所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
根据本申请实施例,还提供一种用于页面显示的JS文件加载装置,应用于客户端中,包括:
发送单元,用于向应用服务器发送第一统一资源定位符URL和用户标识,以使所述应用服务器确定所述第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识,生成第二URL,将每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到所述第二URL的变量属性中并发送;
接收单元,用于接收所述第二URL;
第一获取单元,用于确定当前菜单,从所述第二URL的变量属性中获取所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识;
第二获取单元,用于获取JS文件,所述JS文件包括所述当前菜单对应的入口JS文件以及所述当前菜单下自定义区块对应的业务JS文件。
具体的,所述第二获取单元,具体用于:
向静态资源服务器发送所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识,以使所述静态资源服务器获取所述JS文件;
接收所述静态资源服务器发送的所述JS文件。
可选的,所述接收单元,还用于:
将所述第二URL的变量属性中携带的每个菜单相关的标识进行去重,并将重复的标识保存在通用组中,将去重后的每个菜单相关的标识保存在对应菜单的分组中,每个菜单相关的标识包括每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识;
所述第二获取单元,具体用于:
检测本地是否保存所述通用组包括的标识对应的业务JS文件;
若本地保存所述通用组包括的标识对应的业务JS文件,则向静态资源服务器发送所述当前菜单的分组包括的标识,以使所述静态资源服务器获取所述当前菜单的分组包括的标识对应的JS文件并发送,接收所述静态资源服务器发送的JS文件,并从本地获取所述通用组包括的标识对应的业务JS文件,将接收的所述静态资源服务器发送的JS文件和从本地获取的业务JS文件确定为所述JS文件;
若本地未保存所述通用组包括的标识对应的业务JS文件,则向静态资源服务器发送所述通用组包括的标识和所述当前菜单的分组包括的标识,以使所述静态资源服务器获取所述通用组包括的标识和所述当前菜单的分组包括的标识对应的JS文件并发送;接收所述静态资源服务器发送的JS文件,将接收的所述静态资源服务器发送的JS文件确定为所述JS文件。
根据本申请实施例,还提供一种用于页面显示的JS文件加载***,包括客户端和应用服务器,其中:
所述客户端包括上述用于页面显示的JS文件加载装置;
所述应用服务器包括上述用于页面显示的JS文件加载装置。
本申请实施例提供一种用于页面显示的JS文件加载方法、装置及***,应用服务器接收客户端发送的第一统一资源定位符URL和用户标识;确定所述第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识;生成第二URL,将每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到所述第二URL的变量属性中发送给所述客户端,以使所述客户端确定当前菜单,从所述第二URL的变量属性中获取所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识,并获取JS文件,所述JS文件包括所述当前菜单对应的入口JS文件以及所述当前菜单下自定义区块对应的业务JS文件。该方案中,用户需要浏览页面时,可以将该页面对应的第一URL和用户标识一起发送给应用服务器,相应地应用服务器将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中一起发送给客户端,从而客户端可以根据第二URL的变量属性一次性获取当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件,完成JS文件加载,由于只有当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件被加载,没有加载多余的入口JS文件,从而节省服务器和网络带宽资源;并且自定义区块对应的业务JS文件同时被加载,不再采用异步加载的方式,这就会缩短JS文件加载的时间,从而减少页面显示的时间。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中用于页面显示的JS文件加载***的结构示意图;
图2为本申请实施例中执行主体为应用服务器时的用于页面显示的JS文件加载方法的流程图;
图3为本申请实施例中执行主体为客户端时的用于页面显示的JS文件加载方法的流程图;
图4为本申请实施例中一个应用场景的示意图;
图5为本申请实施例中与图1对应的用于页面显示的JS文件加载方法的流程图;
图6为本申请实施例中与图2对应的用于页面显示的JS文件加载装置的结构示意图;
图7为本申请实施例中与图3对应的用于页面显示的JS文件加载装置的结构示意图。
具体实施方式
为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了解决现有技术中存在的严重浪费服务器和网络带宽资源,以及延长JS文件加载的时间的问题,本申请实施例提供一种用于页面显示的JS文件加载方法,通过如图1所示的用于页面显示的JS文件加载***实现,该***包括应用服务器1和客户端2。下面分别以客户端和服务器为执行主体介绍用于页面显示的JS文件加载方法。
当执行主体为应用服务器时,用于页面显示的JS文件加载方法的流程如图2所示,包括如下步骤:
S21:接收客户端发送的第一URL和用户标识。
目前,很多页面提供用户登录功能,用户在某个页面上输入用户标识和密码后,即可完成登录,通常页面上包括很多菜单,用户可以浏览这些菜单,由于页面提供在每个菜单下进行区块自定义的功能,用户可以选择每个菜单下的自定义区块,从而在以后浏览菜单时仅显示自定义区块,自定义区块可以包括每个菜单下全部或部分的区块。
当客户端检测到用户选择一个菜单时或者需要显示默认菜单时,则将包括该菜单的页面的URL(以下称为第一URL)和用户标识发送给应用服务器,具体的可以向应用服务器发送携带第一URL和用户标识的访问请求。
S22:确定第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
通常每个菜单对应的入口JS文件的标识保存在标识文本中,用户数据保存在用户数据库中,因此,可以首选从预先保存的标识文本中获取每个菜单对应的入口JS文件的标识,再从用户数据库中获取用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
其中,入口JS文件是进入菜单时需要的文件,业务JS文件是实现区块的业务功能需要的文件。
S23:生成第二URL,将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中,发送给客户端,以使客户端确定当前菜单,从第二URL的变量属性中获取当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识,并获取JS文件,JS文件包括当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件。
由于在背景技术中解析出页面对应的入口JS文件的标识以及页面依赖的菜单对应的入口JS文件的标识都会保存在一个新URL的标签属性中,而客户端会自动加载标签属性中的所有标识对应的JS文件,为了避免该现象的发生,可以取消页面与菜单的依赖关系,将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识全部添加到第二URL的变量属性中,并发送给客户端,由于客户端不会自动添加变量属性中的所有标识对应的JS文件,从而可以确保客户端根据需要获取变量属性中的当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识,从而只加载当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件。
在每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中时,可以采用第三方合并工具,例如StyleCombine等等。
该方案中,用户需要浏览页面时,可以将该页面对应的第一URL和用户标识一起发送给应用服务器,相应地应用服务器将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中一起发送给客户端,从而客户端可以根据第二URL的变量属性一次性获取当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件,完成JS文件加载,由于只有当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件被加载,没有加载多余的入口JS文件,从而节省服务器和网络带宽资源;并且自定义区块对应的业务JS文件同时被加载,不再采用异步加载的方式,这就会缩短JS文件加载的时间,从而减少页面显示的时间。
当执行主体为客户端时,用于页面显示的JS文件加载方法的流程如图3所示,包括如下步骤:
S31:向应用服务器发送第一URL和用户标识,以使应用服务器确定第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识,生成第二URL,将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中并发送。
S32:接收第二URL。
S33:确定当前菜单,从第二URL的变量属性中获取当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识。
第一URL对应的页面是首次显示时,默认的菜单为当前菜单,当用户浏览完一个菜单选择另一个菜单时,另一个菜单为当前菜单;确定当前菜单后,从第二URL的变量属性中获取当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识。
下面以一个实例进行说明,如图4所示为一个应用场景的示意图,在该应用场景中,页面包括首页、批发进货、生产采购、销售、应用五个菜单,当前菜单是“生产采购”,用户标识在“生产采购”下自定义区块为“寻源动态”、“精选产品”和“交易、收藏、给我报价过的供应商”,那么,客户端可以从第二URL的变量属性中获取“生产采购”对应的入口JS文件的标识以及“寻源动态”、“精选产品”和“交易、收藏、给我报价过的供应商”对应的业务JS文件的标识。
S34:获取JS文件,JS文件包括当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件。
客户端可以直接获取JS文件,该JS文件包括当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件,从而完成JS文件加载,可以成功显示用户当前菜单下的自定义区块。
该方案中,用户需要浏览页面时,可以将该页面对应的第一URL和用户标识一起发送给应用服务器,相应地应用服务器将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中一起发送给客户端,从而客户端可以根据第二URL的变量属性一次性获取当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件,完成JS文件加载,由于只有当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件被加载,没有加载多余的入口JS文件,从而节省服务器和网络带宽资源;并且自定义区块对应的业务JS文件同时被加载,不再采用异步加载的方式,这就会缩短JS文件加载的时间,从而减少页面显示的时间。
具体的,上述S34中获取JS文件的过程,具体包括:
向静态资源服务器发送当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识,以使静态资源服务器获取JS文件;
接收静态资源服务器发送的JS文件。
可以将第一URL对应的页面相关的JS文件保存在静态资源服务器中,然后从静态资源服务器中获取需要的JS文件,当然还可以采用很多保存方式,这里不再一一说明。
可选的,上述用于页面显示的JS文件加载方法还包括:
将第二URL的变量属性中携带的每个菜单相关的标识进行去重,并将重复的标识保存在通用组中,将去重后的每个菜单相关的标识保存在对应菜单的分组中,每个菜单相关的标识包括每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
由于一个页面包括的菜单中可能会有重复的区块,为了避免对重复区块对应的业务JS文件进行重复下载,从而造成服务器和网络资源的浪费,因此可以对第二URL的变量属性中携带的每个菜单相关的标识进行去重。
例如,一个页面中包括菜单a、b、c,菜单a的入口JS文件的标识为d,用户在菜单a下自定义区块对应的业务JS文件的标识为e、f、g,菜单b的入口JS文件的标识为h,用户在菜单b下自定义区块对应的业务JS文件的标识为e、i、j,菜单c的入口JS文件的标识为k,用户在菜单c下自定义区块对应的业务JS文件的标识为e、l、m,那么菜单a相关的标识为d、e、f和g,菜单b相关的标识为h、e、i和j,菜单c相关的标识为k、e、l和m,可见e为重复的标识,可以保存在通用组中,然后将去重后的每个菜单相关的标识保存在对应菜单的分组中,即菜单a的分组包括d、f和g,菜单b的分组包括h、i和j,菜单c的分组包括k、l和m。
相应地,上述S34中的获取JS文件,具体包括:
检测本地是否保存通用组包括的标识对应的业务JS文件;
若本地保存通用组包括的标识对应的业务JS文件,则向静态资源服务器发送当前菜单的分组包括的标识,以使静态资源服务器获取当前菜单的分组包括的标识对应的JS文件并发送,接收静态资源服务器发送的JS文件,并从本地获取通用组包括的标识对应的业务JS文件,将接收的静态资源服务器发送的JS文件和从本地获取的业务JS文件确定为JS文件;
若本地未保存通用组包括的标识对应的业务JS文件,则向静态资源服务器发送通用组包括的标识和当前菜单的分组包括的标识,以使静态资源服务器获取通用组包括的标识和当前菜单的分组包括的标识对应的JS文件并发送;接收静态资源服务器发送的JS文件,将接收的静态资源服务器发送的JS文件确定为JS文件。
基于上述去重处理,在获取JS文件时,可以首先检查本地是否保存通用组包括的标识对应的业务JS文件,若是,从静态资源服务器获取当前菜单的分组包括的标识对应的JS文件并发送,接收静态资源服务器发送的JS文件,并从本地获取通用组包括的标识对应的业务JS文件,将接收的静态资源服务器发送的JS文件和从本地获取的业务JS文件确定为JS文件;若否,可以从静态资源服务器获取通用组包括的标识和当前菜单的分组包括的标识对应的JS文件,将接收的静态资源服务器发送的JS文件确定为JS文件。
以上分别介绍了以应用服务器和客户端为执行主体时的用于页面显示的JS文件加载方法,下面介绍在如图1的用于页面显示的JS文件加载***中的JS文件加载方法,该***还可以包括静态资源服务器3,如图5所示,具体执行步骤如下:
S51:客户端向应用服务器发送第一URL和用户标识。
S52:应用服务器接收客户端发送的第一URL和用户标识。
S53:应用服务器确定第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识,生成第二URL,将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中,发送给客户端。
可以从预先保存的标识文本中获取每个菜单对应的入口JS文件的标识,从用户数据库中获取用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
S54:客户端接收第二URL,将第二URL的变量属性中携带的每个菜单相关的标识进行去重,并将重复的标识保存在通用组中,将去重后的每个菜单相关的标识保存在对应菜单的分组中,每个菜单相关的标识包括每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
S55:客户端确定当前菜单,从第二URL的变量属性中获取当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识。
S56:客户端检测本地是否保存通用组包括的标识对应的业务JS文件,若是,执行S57;若否,执行S60。
S57:客户端向静态资源服务器发送当前菜单的分组包括的标识。
S58:静态资源服务器获取当前菜单的分组包括的标识对应的JS文件并发送。
S59:客户端接收静态资源服务器发送的JS文件,并从本地获取通用组包括的标识对应的业务JS文件。
接收的静态资源服务器发送的JS文件和从本地获取的业务JS文件,就是当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件,即进行页显示时需要加载的JS文件。
S60:客户端向静态资源服务器发送通用组包括的标识和当前菜单的分组包括的标识。
S61:静态资源服务器获取通用组包括的标识和当前菜单的分组包括的标识对应的JS文件并发送。
S62:客户端接收静态资源服务器发送的JS文件。
接收的静态资源服务器发送的JS文件就是当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件,即进行页显示时需要加载的JS文件。
该方案中,用户需要浏览页面时,可以将该页面对应的第一URL和用户标识一起发送给应用服务器,相应地应用服务器将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中一起发送给客户端,从而客户端可以根据第二URL的变量属性一次性获取当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件,完成JS文件加载,由于只有当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件被加载,没有加载多余的入口JS文件,从而节省服务器和网络带宽资源;并且自定义区块对应的业务JS文件同时被加载,不再采用异步加载的方式,这就会缩短JS文件加载的时间,从而减少页面显示的时间。
基于同一发明构思,本申请实施例还提供一种信息提供装置,该装置与图2所示的用于页面显示的JS文件加载方法相对应,可以设置在如图1所示的用于页面显示的JS文件加载***中的应用服务器1中,结构如6图所示,包括接收单元61、获取单元62和发送单元63。其中:
接收单元61,用于接收客户端发送的第一URL和用户标识。
获取单元62,用于确定第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
发送单元63,用于生成第二URL,将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中,发送给客户端,以使客户端确定当前菜单,从第二URL的变量属性中获取当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识,并获取JS文件,JS文件包括当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件。
该方案中,用户需要浏览页面时,可以将该页面对应的第一URL和用户标识一起发送给应用服务器,相应地应用服务器将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中一起发送给客户端,从而客户端可以根据第二URL的变量属性一次性获取当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件,完成JS文件加载,由于只有当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件被加载,没有加载多余的入口JS文件,从而节省服务器和网络带宽资源;并且自定义区块对应的业务JS文件同时被加载,不再采用异步加载的方式,这就会缩短JS文件加载的时间,从而减少页面显示的时间。
具体的,上述获取单元62,具体用于:
从预先保存的标识文本中获取每个菜单对应的入口JS文件的标识;
从用户数据库中获取用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
基于同一发明构思,本申请实施例还提供一种信息提供装置,该装置与图3所示的用于页面显示的JS文件加载方法相对应,可以设置在如图1所示的用于页面显示的JS文件加载***中的客户端2中,结构如7图所示,包括发送单元71、接收单元72、第一获取单元73和第二获取单元74。其中:
发送单元71,用于向应用服务器发送第一URL和用户标识,以使应用服务器确定第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识,生成第二URL,将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中并发送。
接收单元72,用于接收第二URL。
第一获取单元73,用于确定当前菜单,从第二URL的变量属性中获取当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识。
第二获取单元74,用于获取JS文件,JS文件包括当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件。
该方案中,用户需要浏览页面时,可以将该页面对应的第一URL和用户标识一起发送给应用服务器,相应地应用服务器将每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到第二URL的变量属性中一起发送给客户端,从而客户端可以根据第二URL的变量属性一次性获取当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件,从而完成JS文件加载,由于只有当前菜单对应的入口JS文件以及当前菜单下自定义区块对应的业务JS文件被加载,没有加载多余的入口JS文件,从而节省服务器和网络带宽资源;并且自定义区块对应的业务JS文件同时被加载,不再采用异步加载的方式,这就会缩短JS文件加载的时间,从而减少页面显示的时间。
具体的,上述第二获取单元74,具体用于:
向静态资源服务器发送当前菜单对应的入口JS文件的标识以及用户标识在当前菜单下自定义区块对应的业务JS文件的标识,以使静态资源服务器获取JS文件;
接收静态资源服务器发送的JS文件。
可选的,上述接收单元72,还用于:
将第二URL的变量属性中携带的每个菜单相关的标识进行去重,并将重复的标识保存在通用组中,将去重后的每个菜单相关的标识保存在对应菜单的分组中,每个菜单相关的标识包括每个菜单对应的入口JS文件的标识以及用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
相应地,上述第二获取单元74,具体用于:
检测本地是否保存通用组包括的标识对应的业务JS文件;
若本地保存通用组包括的标识对应的业务JS文件,则向静态资源服务器发送当前菜单的分组包括的标识,以使静态资源服务器获取当前菜单的分组包括的标识对应的JS文件并发送,接收静态资源服务器发送的JS文件,并从本地获取通用组包括的标识对应的业务JS文件,将接收的静态资源服务器发送的JS文件和从本地获取的业务JS文件确定为JS文件;
若本地未保存通用组包括的标识对应的业务JS文件,则向静态资源服务器发送通用组包括的标识和当前菜单的分组包括的标识,以使静态资源服务器获取通用组包括的标识和当前菜单的分组包括的标识对应的JS文件并发送;接收静态资源服务器发送的JS文件,将接收的静态资源服务器发送的JS文件确定为JS文件。
上述说明示出并描述了本申请的优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

Claims (11)

1.一种用于页面显示的JS文件加载方法,应用于应用服务器中,其特征在于,包括:
接收客户端发送的第一统一资源定位符URL和用户标识;
确定所述第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识;
生成第二URL,将每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到所述第二URL的变量属性中,发送给所述客户端,以使所述客户端确定当前菜单,从所述第二URL的变量属性中获取所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识,并获取JS文件,所述JS文件包括所述当前菜单对应的入口JS文件以及所述当前菜单下自定义区块对应的业务JS文件。
2.如权利要求1所述的方法,其特征在于,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识,具体包括:
从预先保存的标识文本中获取每个菜单对应的入口JS文件的标识;
从用户数据库中获取所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
3.一种用于页面显示的JS文件加载方法,应用于客户端中,其特征在于,包括:
向应用服务器发送第一统一资源定位符URL和用户标识,以使所述应用服务器确定所述第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识,生成第二URL,将每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到所述第二URL的变量属性中并发送;
接收所述第二URL;
确定当前菜单,从所述第二URL的变量属性中获取所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识;
获取JS文件,所述JS文件包括所述当前菜单对应的入口JS文件以及所述当前菜单下自定义区块对应的业务JS文件。
4.如权利要求3所述的方法,其特征在于,获取JS文件,具体包括:
向静态资源服务器发送所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识,以使所述静态资源服务器获取所述JS文件;
接收所述静态资源服务器发送的所述JS文件。
5.如权利要求3所述的方法,其特征在于,还包括:
将所述第二URL的变量属性中携带的每个菜单相关的标识进行去重,并将重复的标识保存在通用组中,将去重后的每个菜单相关的标识保存在对应菜单的分组中,每个菜单相关的标识包括每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识;
获取JS文件,具体包括:
检测本地是否保存所述通用组包括的标识对应的业务JS文件;
若本地保存所述通用组包括的标识对应的业务JS文件,则向静态资源服务器发送所述当前菜单的分组包括的标识,以使所述静态资源服务器获取所述当前菜单的分组包括的标识对应的JS文件并发送,接收所述静态资源服务器发送的JS文件,并从本地获取所述通用组包括的标识对应的业务JS文件,将接收的所述静态资源服务器发送的JS文件和从本地获取的业务JS文件确定为所述JS文件;
若本地未保存所述通用组包括的标识对应的业务JS文件,则向静态资源服务器发送所述通用组包括的标识和所述当前菜单的分组包括的标识,以使所述静态资源服务器获取所述通用组包括的标识和所述当前菜单的分组包括的标识对应的JS文件并发送;接收所述静态资源服务器发送的JS文件,将接收的所述静态资源服务器发送的JS文件确定为所述JS文件。
6.一种用于页面显示的JS文件加载装置,其特征在于,包括:
接收单元,用于接收客户端发送的第一统一资源定位符URL和用户标识;
获取单元,用于确定所述第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识;
发送单元,用于生成第二URL,将每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到所述第二URL的变量属性中,发送给所述客户端,以使所述客户端确定当前菜单,从所述第二URL的变量属性中获取所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识,并获取JS文件,所述JS文件包括所述当前菜单对应的入口JS文件以及所述当前菜单下自定义区块对应的业务JS文件。
7.如权利要求6所述的装置,其特征在于,所述获取单元,具体用于:
从预先保存的标识文本中获取每个菜单对应的入口JS文件的标识;
从用户数据库中获取所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识。
8.一种用于页面显示的JS文件加载装置,应用于客户端中,其特征在于,包括:
发送单元,用于向应用服务器发送第一统一资源定位符URL和用户标识,以使所述应用服务器确定所述第一URL对应的页面包括的菜单,获取每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识,生成第二URL,将每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识添加到所述第二URL的变量属性中并发送;
接收单元,用于接收所述第二URL;
第一获取单元,用于确定当前菜单,从所述第二URL的变量属性中获取所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识;
第二获取单元,用于获取JS文件,所述JS文件包括所述当前菜单对应的入口JS文件以及所述当前菜单下自定义区块对应的业务JS文件。
9.如权利要求8所述的装置,其特征在于,所述第二获取单元,具体用于:
向静态资源服务器发送所述当前菜单对应的入口JS文件的标识以及所述用户标识在所述当前菜单下自定义区块对应的业务JS文件的标识,以使所述静态资源服务器获取所述JS文件;
接收所述静态资源服务器发送的所述JS文件。
10.如权利要求8所述的装置,其特征在于,所述接收单元,还用于:
将所述第二URL的变量属性中携带的每个菜单相关的标识进行去重,并将重复的标识保存在通用组中,将去重后的每个菜单相关的标识保存在对应菜单的分组中,每个菜单相关的标识包括每个菜单对应的入口JS文件的标识以及所述用户标识在每个菜单下自定义区块对应的业务JS文件的标识;
所述第二获取单元,具体用于:
检测本地是否保存所述通用组包括的标识对应的业务JS文件;
若本地保存所述通用组包括的标识对应的业务JS文件,则向静态资源服务器发送所述当前菜单的分组包括的标识,以使所述静态资源服务器获取所述当前菜单的分组包括的标识对应的JS文件并发送,接收所述静态资源服务器发送的JS文件,并从本地获取所述通用组包括的标识对应的业务JS文件,将接收的所述静态资源服务器发送的JS文件和从本地获取的业务JS文件确定为所述JS文件;
若本地未保存所述通用组包括的标识对应的业务JS文件,则向静态资源服务器发送所述通用组包括的标识和所述当前菜单的分组包括的标识,以使所述静态资源服务器获取所述通用组包括的标识和所述当前菜单的分组包括的标识对应的JS文件并发送;接收所述静态资源服务器发送的JS文件,将接收的所述静态资源服务器发送的JS文件确定为所述JS文件。
11.一种用于页面显示的JS文件加载***,其特征在于,包括客户端和应用服务器,其中:
所述客户端包括如权利要求6或7所述的用于页面显示的JS文件加载装置;
所述应用服务器包括如权利要求8-10任一所述的用于页面显示的JS文件加载装置。
CN201510075862.5A 2015-02-12 2015-02-12 用于页面显示的js文件加载方法、装置及*** Active CN105989091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510075862.5A CN105989091B (zh) 2015-02-12 2015-02-12 用于页面显示的js文件加载方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510075862.5A CN105989091B (zh) 2015-02-12 2015-02-12 用于页面显示的js文件加载方法、装置及***

Publications (2)

Publication Number Publication Date
CN105989091A true CN105989091A (zh) 2016-10-05
CN105989091B CN105989091B (zh) 2019-12-24

Family

ID=57042168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510075862.5A Active CN105989091B (zh) 2015-02-12 2015-02-12 用于页面显示的js文件加载方法、装置及***

Country Status (1)

Country Link
CN (1) CN105989091B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648810A (zh) * 2017-01-24 2017-05-10 东软集团股份有限公司 应用程序资源的获取方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003102753A1 (en) * 2002-06-02 2003-12-11 Internet Forex Products Inc. Dynamic generation of object script codes
CN101645090A (zh) * 2009-08-04 2010-02-10 成都市华为赛门铁克科技有限公司 页面显示方法、服务器及网络***
CN102799640A (zh) * 2012-06-27 2012-11-28 用友软件股份有限公司 页面加载装置和页面加载方法
CN103500194A (zh) * 2013-09-17 2014-01-08 北京奇虎科技有限公司 一种进行网页加载的方法、装置和浏览器
CN103530160A (zh) * 2013-10-21 2014-01-22 迈普通信技术股份有限公司 一种页面加载的方法和装置
CN104283865A (zh) * 2013-07-12 2015-01-14 贝壳网际(北京)安全技术有限公司 一种下载处理方法、装置、服务器及客户端设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003102753A1 (en) * 2002-06-02 2003-12-11 Internet Forex Products Inc. Dynamic generation of object script codes
CN101645090A (zh) * 2009-08-04 2010-02-10 成都市华为赛门铁克科技有限公司 页面显示方法、服务器及网络***
CN102799640A (zh) * 2012-06-27 2012-11-28 用友软件股份有限公司 页面加载装置和页面加载方法
CN104283865A (zh) * 2013-07-12 2015-01-14 贝壳网际(北京)安全技术有限公司 一种下载处理方法、装置、服务器及客户端设备
CN103500194A (zh) * 2013-09-17 2014-01-08 北京奇虎科技有限公司 一种进行网页加载的方法、装置和浏览器
CN103530160A (zh) * 2013-10-21 2014-01-22 迈普通信技术股份有限公司 一种页面加载的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648810A (zh) * 2017-01-24 2017-05-10 东软集团股份有限公司 应用程序资源的获取方法及装置

Also Published As

Publication number Publication date
CN105989091B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN106528432B (zh) 测试场景数据的构建方法及装置、埋点测试方法
CN106254451B (zh) 嵌入式设备web菜单控制***及方法
CN104335523B (zh) 一种权限控制方法、客户端及服务器
CN106549907B (zh) 一种web app访问方法、装置和***
CN104426925B (zh) 网页资源获取方法及装置
CN107229633A (zh) 静态页面生成方法、网页访问方法及装置
US20120210011A1 (en) Apparatus and methods for access solutions to wireless and wired networks
CN108319468A (zh) 灰度发布方法、装置、***及电子设备
CN103778236B (zh) 网页数据分发处理方法和装置及网页生成处理方法和装置
CN102968584B (zh) 一种登录网页的方法和装置
CN104410711A (zh) 客户端跨域请求网络资源的方法和装置
CN105426448A (zh) 界面显示方法、装置及***
CN104144206A (zh) 一种界面加载方法、***及装置
CN104618449A (zh) 一种实现web单点登录的方法及装置
CN105786207A (zh) 信息输入方法和装置
CN108737252B (zh) 基于区块链的信息推送方法及装置
CN104954501A (zh) 跨域信息交互方法、装置及***
CN104394041A (zh) 访问日志生成方法及装置
CN107992350B (zh) 一种生成配置概览页面的方法及装置
CN109561167A (zh) 一种域名解析方法及装置
CN107656910A (zh) 用于生成表单的方法和装置
CN109889379B (zh) 数据采集方法、装置、管理设备及存储介质
CN104202403B (zh) 网页浏览的加速方法、云服务器和浏览器
CN103248627A (zh) 实现访问网站资源的方法、正向代理服务器和***
CN103051722B (zh) 一种确定页面是否被劫持的方法及相关设备

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