用于頁(yè)面顯示的js文件加載方法、裝置及系統(tǒng)的制作方法
【專利摘要】本申請(qǐng)公開了一種用于頁(yè)面顯示的JS文件加載方法、裝置及系統(tǒng),該方法包括:接收客戶端發(fā)送的第一URL和用戶標(biāo)識(shí);確定第一URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí);生成第二URL,將每個(gè)菜單對(duì)應(yīng)的入口JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二URL的變量屬性中發(fā)送給客戶端,以使客戶端確定當(dāng)前菜單,從第二URL的變量屬性中獲取當(dāng)前菜單對(duì)應(yīng)的入口JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),并獲取JS文件。該方案節(jié)省服務(wù)器和網(wǎng)絡(luò)帶寬資源;并且縮短JS文件加載的時(shí)間,從而減少頁(yè)面顯示的時(shí)間。
【專利說明】
用于頁(yè)面顯示的JS文件加載方法、裝置及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本申請(qǐng)涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種用于頁(yè)面顯示的JS文件加載方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)上提供的信息越來(lái)越豐富,越來(lái)越多的用戶通過客戶端從互聯(lián)網(wǎng)上獲取信息,客戶端可以通過顯示頁(yè)面向用戶提供信息。通常頁(yè)面中包括多個(gè)菜單,每個(gè)菜單中又包括多個(gè)區(qū)塊,該網(wǎng)頁(yè)有對(duì)應(yīng)的入口 JS(JavaScript)文件,每個(gè)菜單也有對(duì)應(yīng)的入口 JS文件,每個(gè)區(qū)塊也有對(duì)應(yīng)的業(yè)務(wù)JS文件,為了顯示頁(yè)面,客戶端需要加載該頁(yè)面包括的菜單對(duì)應(yīng)的入口 JS文件以及每個(gè)菜單包括的區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,下面詳細(xì)介紹目前客戶端加載這些JS文件的過程。
[0003]當(dāng)用戶需要瀏覽某個(gè)頁(yè)面時(shí),客戶端向應(yīng)用服務(wù)器發(fā)送攜帶該頁(yè)面的統(tǒng)一資源定位符(Uniform Resource Locator,URL)的訪問請(qǐng)求;應(yīng)用服務(wù)器獲取該頁(yè)面對(duì)應(yīng)的超文本標(biāo)記語(yǔ)言(HyperText Mark-up Language,HTML)文件,并從該HTML文件中解析出該頁(yè)面對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及該頁(yè)面依賴的菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí),將解析出的入口 JS文件的標(biāo)識(shí)進(jìn)行合并后放入一個(gè)新URL的標(biāo)簽屬性中,將新URL發(fā)送給客戶端;客戶端接收到新URL后,解析新URL的標(biāo)簽屬性中攜帶的所有入口 JS文件的標(biāo)識(shí),向靜態(tài)資源服務(wù)器發(fā)送攜帶這些入口 JS文件的標(biāo)識(shí)的文件獲取請(qǐng)求;靜態(tài)資源服務(wù)器將這些入口 JS文件發(fā)送給客戶端;客戶端確定用戶選擇的當(dāng)前菜單,向應(yīng)用服務(wù)器發(fā)送攜帶當(dāng)前菜單和用戶標(biāo)識(shí)的標(biāo)識(shí)獲取請(qǐng)求;應(yīng)用服務(wù)器確定該用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),并發(fā)送給客戶端;客戶端采用異步加載的方式加載用戶在當(dāng)前菜單下自定義區(qū)塊及其所依賴的區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0004]上述方法中,用戶需要瀏覽某個(gè)頁(yè)面時(shí),該頁(yè)面對(duì)應(yīng)的入口 JS文件以及該頁(yè)面依賴的所有菜單對(duì)應(yīng)的入口 JS文件都會(huì)被加載,而事實(shí)上用戶可能只瀏覽其中的部分菜單,并不會(huì)瀏覽所有的菜單,但是客戶端需要加載該頁(yè)面依賴的所有菜單對(duì)應(yīng)的入口 JS文件,由于加載了很多無(wú)用的入口 JS文件,從而嚴(yán)重浪費(fèi)服務(wù)器和網(wǎng)絡(luò)帶寬資源;其次,客戶端加載用戶自定義區(qū)塊及其依賴的區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件時(shí),采用異步加載的方式,這就會(huì)延長(zhǎng)JS文件加載的時(shí)間,從而延長(zhǎng)頁(yè)面顯示的時(shí)間。
【發(fā)明內(nèi)容】
[0005]本申請(qǐng)實(shí)施例提供一種用于頁(yè)面顯示的JS文件加載方法、裝置及系統(tǒng),用以解決現(xiàn)有技術(shù)中存在的嚴(yán)重浪費(fèi)服務(wù)器和網(wǎng)絡(luò)帶寬資源,以及延長(zhǎng)JS文件加載的時(shí)間的問題。
[0006]根據(jù)本申請(qǐng)實(shí)施例,提供一種用于頁(yè)面顯示的JS文件加載方法,包括:
[0007]接收客戶端發(fā)送的第一統(tǒng)一資源定位符URL和用戶標(biāo)識(shí);
[0008]確定所述第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí);
[0009]生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到所述第二 URL的變量屬性中,發(fā)送給所述客戶端,以使所述客戶端確定當(dāng)前菜單,從所述第二 URL的變量屬性中獲取所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),并獲取JS文件,所述JS文件包括所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0010]具體的,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),具體包括:
[0011]從預(yù)先保存的標(biāo)識(shí)文本中獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí);
[0012]從用戶數(shù)據(jù)庫(kù)中獲取所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0013]根據(jù)本申請(qǐng)實(shí)施例,還提供一種用于頁(yè)面顯示的JS文件加載方法,應(yīng)用于客戶端中,包括:
[0014]向應(yīng)用服務(wù)器發(fā)送第一統(tǒng)一資源定位符URL和用戶標(biāo)識(shí),以使所述應(yīng)用服務(wù)器確定所述第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到所述第二 URL的變量屬性中并發(fā)送;
[0015]接收所述第二 URL;
[0016]確定當(dāng)前菜單,從所述第二 URL的變量屬性中獲取所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí);
[0017]獲取JS文件,所述JS文件包括所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0018]具體的,獲取JS文件,具體包括:
[0019]向靜態(tài)資源服務(wù)器發(fā)送所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述JS文件;
[0020]接收所述靜態(tài)資源服務(wù)器發(fā)送的所述JS文件。
[0021]可選的,還包括:
[0022]將所述第二 URL的變量屬性中攜帶的每個(gè)菜單相關(guān)的標(biāo)識(shí)進(jìn)行去重,并將重復(fù)的標(biāo)識(shí)保存在通用組中,將去重后的每個(gè)菜單相關(guān)的標(biāo)識(shí)保存在對(duì)應(yīng)菜單的分組中,每個(gè)菜單相關(guān)的標(biāo)識(shí)包括每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí);
[0023]獲取JS文件,具體包括:
[0024]檢測(cè)本地是否保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件;
[0025]若本地保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送所述當(dāng)前菜單的分組包括的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送,接收所述靜態(tài)資源服務(wù)器發(fā)送的JS文件,并從本地獲取所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,將接收的所述靜態(tài)資源服務(wù)器發(fā)送的JS文件和從本地獲取的業(yè)務(wù)JS文件確定為所述JS文件;
[0026]若本地未保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送所述通用組包括的標(biāo)識(shí)和所述當(dāng)前菜單的分組包括的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述通用組包括的標(biāo)識(shí)和所述當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送;接收所述靜態(tài)資源服務(wù)器發(fā)送的JS文件,將接收的所述靜態(tài)資源服務(wù)器發(fā)送的JS文件確定為所述JS文件。
[0027]根據(jù)本申請(qǐng)實(shí)施例,還提供一種用于頁(yè)面顯示的JS文件加載裝置,包括:
[0028]接收單元,用于接收客戶端發(fā)送的第一統(tǒng)一資源定位符URL和用戶標(biāo)識(shí);
[0029]獲取單元,用于確定所述第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí);
[0030]發(fā)送單元,用于生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到所述第二 URL的變量屬性中,發(fā)送給所述客戶端,以使所述客戶端確定當(dāng)前菜單,從所述第二 URL的變量屬性中獲取所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),并獲取JS文件,所述JS文件包括所述當(dāng)前菜單對(duì)應(yīng)的入口JS文件以及所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0031]具體的,所述獲取單元,具體用于:
[0032]從預(yù)先保存的標(biāo)識(shí)文本中獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí);
[0033]從用戶數(shù)據(jù)庫(kù)中獲取所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0034]根據(jù)本申請(qǐng)實(shí)施例,還提供一種用于頁(yè)面顯示的JS文件加載裝置,應(yīng)用于客戶端中,包括:
[0035]發(fā)送單元,用于向應(yīng)用服務(wù)器發(fā)送第一統(tǒng)一資源定位符URL和用戶標(biāo)識(shí),以使所述應(yīng)用服務(wù)器確定所述第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),生成第二URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到所述第二 URL的變量屬性中并發(fā)送;
[0036]接收單元,用于接收所述第二 URL ;
[0037]第一獲取單元,用于確定當(dāng)前菜單,從所述第二 URL的變量屬性中獲取所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí);
[0038]第二獲取單元,用于獲取JS文件,所述JS文件包括所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0039]具體的,所述第二獲取單元,具體用于:
[0040]向靜態(tài)資源服務(wù)器發(fā)送所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述JS文件;
[0041]接收所述靜態(tài)資源服務(wù)器發(fā)送的所述JS文件。
[0042]可選的,所述接收單元,還用于:
[0043]將所述第二 URL的變量屬性中攜帶的每個(gè)菜單相關(guān)的標(biāo)識(shí)進(jìn)行去重,并將重復(fù)的標(biāo)識(shí)保存在通用組中,將去重后的每個(gè)菜單相關(guān)的標(biāo)識(shí)保存在對(duì)應(yīng)菜單的分組中,每個(gè)菜單相關(guān)的標(biāo)識(shí)包括每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí);
[0044]所述第二獲取單元,具體用于:
[0045]檢測(cè)本地是否保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件;
[0046]若本地保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送所述當(dāng)前菜單的分組包括的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送,接收所述靜態(tài)資源服務(wù)器發(fā)送的JS文件,并從本地獲取所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,將接收的所述靜態(tài)資源服務(wù)器發(fā)送的JS文件和從本地獲取的業(yè)務(wù)JS文件確定為所述JS文件;
[0047]若本地未保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送所述通用組包括的標(biāo)識(shí)和所述當(dāng)前菜單的分組包括的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述通用組包括的標(biāo)識(shí)和所述當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送;接收所述靜態(tài)資源服務(wù)器發(fā)送的JS文件,將接收的所述靜態(tài)資源服務(wù)器發(fā)送的JS文件確定為所述JS文件。
[0048]根據(jù)本申請(qǐng)實(shí)施例,還提供一種用于頁(yè)面顯示的JS文件加載系統(tǒng),包括客戶端和應(yīng)用服務(wù)器,其中:
[0049]所述客戶端包括上述用于頁(yè)面顯示的JS文件加載裝置;
[0050]所述應(yīng)用服務(wù)器包括上述用于頁(yè)面顯示的JS文件加載裝置。
[0051]本申請(qǐng)實(shí)施例提供一種用于頁(yè)面顯示的JS文件加載方法、裝置及系統(tǒng),應(yīng)用服務(wù)器接收客戶端發(fā)送的第一統(tǒng)一資源定位符URL和用戶標(biāo)識(shí);確定所述第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí);生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到所述第二URL的變量屬性中發(fā)送給所述客戶端,以使所述客戶端確定當(dāng)前菜單,從所述第二 URL的變量屬性中獲取所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),并獲取JS文件,所述JS文件包括所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。該方案中,用戶需要瀏覽頁(yè)面時(shí),可以將該頁(yè)面對(duì)應(yīng)的第一 URL和用戶標(biāo)識(shí)一起發(fā)送給應(yīng)用服務(wù)器,相應(yīng)地應(yīng)用服務(wù)器將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中一起發(fā)送給客戶端,從而客戶端可以根據(jù)第二 URL的變量屬性一次性獲取當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,完成JS文件加載,由于只有當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件被加載,沒有加載多余的入口 JS文件,從而節(jié)省服務(wù)器和網(wǎng)絡(luò)帶寬資源;并且自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件同時(shí)被加載,不再采用異步加載的方式,這就會(huì)縮短JS文件加載的時(shí)間,從而減少頁(yè)面顯示的時(shí)間。
【附圖說明】
[0052]此處所說明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
[0053]圖1為本申請(qǐng)實(shí)施例中用于頁(yè)面顯示的JS文件加載系統(tǒng)的結(jié)構(gòu)示意圖;
[0054]圖2為本申請(qǐng)實(shí)施例中執(zhí)行主體為應(yīng)用服務(wù)器時(shí)的用于頁(yè)面顯示的JS文件加載方法的流程圖;
[0055]圖3為本申請(qǐng)實(shí)施例中執(zhí)行主體為客戶端時(shí)的用于頁(yè)面顯示的JS文件加載方法的流程圖;
[0056]圖4為本申請(qǐng)實(shí)施例中一個(gè)應(yīng)用場(chǎng)景的示意圖;
[0057]圖5為本申請(qǐng)實(shí)施例中與圖1對(duì)應(yīng)的用于頁(yè)面顯示的JS文件加載方法的流程圖;
[0058]圖6為本申請(qǐng)實(shí)施例中與圖2對(duì)應(yīng)的用于頁(yè)面顯示的JS文件加載裝置的結(jié)構(gòu)示意圖;
[0059]圖7為本申請(qǐng)實(shí)施例中與圖3對(duì)應(yīng)的用于頁(yè)面顯示的JS文件加載裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0060]為了使本申請(qǐng)所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實(shí)施例,對(duì)本申請(qǐng)進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本申請(qǐng),并不用于限定本申請(qǐng)。
[0061]為了解決現(xiàn)有技術(shù)中存在的嚴(yán)重浪費(fèi)服務(wù)器和網(wǎng)絡(luò)帶寬資源,以及延長(zhǎng)JS文件加載的時(shí)間的問題,本申請(qǐng)實(shí)施例提供一種用于頁(yè)面顯示的JS文件加載方法,通過如圖1所示的用于頁(yè)面顯示的JS文件加載系統(tǒng)實(shí)現(xiàn),該系統(tǒng)包括應(yīng)用服務(wù)器I和客戶端2。下面分別以客戶端和服務(wù)器為執(zhí)行主體介紹用于頁(yè)面顯示的JS文件加載方法。
[0062]當(dāng)執(zhí)行主體為應(yīng)用服務(wù)器時(shí),用于頁(yè)面顯示的JS文件加載方法的流程如圖2所示,包括如下步驟:
[0063]S21:接收客戶端發(fā)送的第一 URL和用戶標(biāo)識(shí)。
[0064]目前,很多頁(yè)面提供用戶登錄功能,用戶在某個(gè)頁(yè)面上輸入用戶標(biāo)識(shí)和密碼后,SP可完成登錄,通常頁(yè)面上包括很多菜單,用戶可以瀏覽這些菜單,由于頁(yè)面提供在每個(gè)菜單下進(jìn)行區(qū)塊自定義的功能,用戶可以選擇每個(gè)菜單下的自定義區(qū)塊,從而在以后瀏覽菜單時(shí)僅顯示自定義區(qū)塊,自定義區(qū)塊可以包括每個(gè)菜單下全部或部分的區(qū)塊。
[0065]當(dāng)客戶端檢測(cè)到用戶選擇一個(gè)菜單時(shí)或者需要顯示默認(rèn)菜單時(shí),則將包括該菜單的頁(yè)面的URL(以下稱為第一 URL)和用戶標(biāo)識(shí)發(fā)送給應(yīng)用服務(wù)器,具體的可以向應(yīng)用服務(wù)器發(fā)送攜帶第一 URL和用戶標(biāo)識(shí)的訪問請(qǐng)求。
[0066]S22:確定第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0067]通常每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)保存在標(biāo)識(shí)文本中,用戶數(shù)據(jù)保存在用戶數(shù)據(jù)庫(kù)中,因此,可以首選從預(yù)先保存的標(biāo)識(shí)文本中獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí),再?gòu)挠脩魯?shù)據(jù)庫(kù)中獲取用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0068]其中,入口 JS文件是進(jìn)入菜單時(shí)需要的文件,業(yè)務(wù)JS文件是實(shí)現(xiàn)區(qū)塊的業(yè)務(wù)功能需要的文件。
[0069]S23:生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中,發(fā)送給客戶端,以使客戶端確定當(dāng)前菜單,從第二 URL的變量屬性中獲取當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),并獲取JS文件,JS文件包括當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0070]由于在【背景技術(shù)】中解析出頁(yè)面對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及頁(yè)面依賴的菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)都會(huì)保存在一個(gè)新URL的標(biāo)簽屬性中,而客戶端會(huì)自動(dòng)加載標(biāo)簽屬性中的所有標(biāo)識(shí)對(duì)應(yīng)的JS文件,為了避免該現(xiàn)象的發(fā)生,可以取消頁(yè)面與菜單的依賴關(guān)系,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)全部添加到第二 URL的變量屬性中,并發(fā)送給客戶端,由于客戶端不會(huì)自動(dòng)添加變量屬性中的所有標(biāo)識(shí)對(duì)應(yīng)的JS文件,從而可以確??蛻舳烁鶕?jù)需要獲取變量屬性中的當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),從而只加載當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0071]在每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中時(shí),可以采用第三方合并工具,例如StyleCombine 等等。
[0072]該方案中,用戶需要瀏覽頁(yè)面時(shí),可以將該頁(yè)面對(duì)應(yīng)的第一 URL和用戶標(biāo)識(shí)一起發(fā)送給應(yīng)用服務(wù)器,相應(yīng)地應(yīng)用服務(wù)器將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中一起發(fā)送給客戶端,從而客戶端可以根據(jù)第二 URL的變量屬性一次性獲取當(dāng)前菜單對(duì)應(yīng)的入口JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,完成JS文件加載,由于只有當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件被加載,沒有加載多余的入口 JS文件,從而節(jié)省服務(wù)器和網(wǎng)絡(luò)帶寬資源;并且自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件同時(shí)被加載,不再采用異步加載的方式,這就會(huì)縮短JS文件加載的時(shí)間,從而減少頁(yè)面顯示的時(shí)間。
[0073]當(dāng)執(zhí)行主體為客戶端時(shí),用于頁(yè)面顯示的JS文件加載方法的流程如圖3所示,包括如下步驟:
[0074]S31:向應(yīng)用服務(wù)器發(fā)送第一 URL和用戶標(biāo)識(shí),以使應(yīng)用服務(wù)器確定第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中并發(fā)送。
[0075]S32:接收第二 URL。
[0076]S33:確定當(dāng)前菜單,從第二 URL的變量屬性中獲取當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0077]第一 URL對(duì)應(yīng)的頁(yè)面是首次顯示時(shí),默認(rèn)的菜單為當(dāng)前菜單,當(dāng)用戶瀏覽完一個(gè)菜單選擇另一個(gè)菜單時(shí),另一個(gè)菜單為當(dāng)前菜單;確定當(dāng)前菜單后,從第二 URL的變量屬性中獲取當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0078]下面以一個(gè)實(shí)例進(jìn)行說明,如圖4所示為一個(gè)應(yīng)用場(chǎng)景的示意圖,在該應(yīng)用場(chǎng)景中,頁(yè)面包括首頁(yè)、批發(fā)進(jìn)貨、生產(chǎn)采購(gòu)、銷售、應(yīng)用五個(gè)菜單,當(dāng)前菜單是“生產(chǎn)采購(gòu)”,用戶標(biāo)識(shí)在“生產(chǎn)采購(gòu)”下自定義區(qū)塊為“尋源動(dòng)態(tài)”、“精選產(chǎn)品”和“交易、收藏、給我報(bào)價(jià)過的供應(yīng)商”,那么,客戶端可以從第二 URL的變量屬性中獲取“生產(chǎn)采購(gòu)”對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及“尋源動(dòng)態(tài)”、“精選產(chǎn)品”和“交易、收藏、給我報(bào)價(jià)過的供應(yīng)商”對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0079]S34:獲取JS文件,JS文件包括當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0080]客戶端可以直接獲取JS文件,該JS文件包括當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,從而完成JS文件加載,可以成功顯示用戶當(dāng)前菜單下的自定義區(qū)塊。
[0081]該方案中,用戶需要瀏覽頁(yè)面時(shí),可以將該頁(yè)面對(duì)應(yīng)的第一 URL和用戶標(biāo)識(shí)一起發(fā)送給應(yīng)用服務(wù)器,相應(yīng)地應(yīng)用服務(wù)器將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中一起發(fā)送給客戶端,從而客戶端可以根據(jù)第二 URL的變量屬性一次性獲取當(dāng)前菜單對(duì)應(yīng)的入口JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,完成JS文件加載,由于只有當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件被加載,沒有加載多余的入口 JS文件,從而節(jié)省服務(wù)器和網(wǎng)絡(luò)帶寬資源;并且自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件同時(shí)被加載,不再采用異步加載的方式,這就會(huì)縮短JS文件加載的時(shí)間,從而減少頁(yè)面顯示的時(shí)間。
[0082]具體的,上述S34中獲取JS文件的過程,具體包括:
[0083]向靜態(tài)資源服務(wù)器發(fā)送當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),以使靜態(tài)資源服務(wù)器獲取JS文件;
[0084]接收靜態(tài)資源服務(wù)器發(fā)送的JS文件。
[0085]可以將第一URL對(duì)應(yīng)的頁(yè)面相關(guān)的JS文件保存在靜態(tài)資源服務(wù)器中,然后從靜態(tài)資源服務(wù)器中獲取需要的JS文件,當(dāng)然還可以采用很多保存方式,這里不再一一說明。
[0086]可選的,上述用于頁(yè)面顯示的JS文件加載方法還包括:
[0087]將第二 URL的變量屬性中攜帶的每個(gè)菜單相關(guān)的標(biāo)識(shí)進(jìn)行去重,并將重復(fù)的標(biāo)識(shí)保存在通用組中,將去重后的每個(gè)菜單相關(guān)的標(biāo)識(shí)保存在對(duì)應(yīng)菜單的分組中,每個(gè)菜單相關(guān)的標(biāo)識(shí)包括每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0088]由于一個(gè)頁(yè)面包括的菜單中可能會(huì)有重復(fù)的區(qū)塊,為了避免對(duì)重復(fù)區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件進(jìn)行重復(fù)下載,從而造成服務(wù)器和網(wǎng)絡(luò)資源的浪費(fèi),因此可以對(duì)第二 URL的變量屬性中攜帶的每個(gè)菜單相關(guān)的標(biāo)識(shí)進(jìn)行去重。
[0089]例如,一個(gè)頁(yè)面中包括菜單a、b、c,菜單a的入口 JS文件的標(biāo)識(shí)為d,用戶在菜單a下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)為e、f、g,菜單b的入口 JS文件的標(biāo)識(shí)為h,用戶在菜單b下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)為e、1、j,菜單c的入口 JS文件的標(biāo)識(shí)為k,用戶在菜單c下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)為e、l、m,那么菜單a相關(guān)的標(biāo)識(shí)為d、e、f和g,菜單b相關(guān)的標(biāo)識(shí)為h、e、i和j,菜單c相關(guān)的標(biāo)識(shí)為k、e、I和m,可見e為重復(fù)的標(biāo)識(shí),可以保存在通用組中,然后將去重后的每個(gè)菜單相關(guān)的標(biāo)識(shí)保存在對(duì)應(yīng)菜單的分組中,即菜單a的分組包括d、f和g,菜單b的分組包括h、i和j,菜單c的分組包括k、I 和 m0
[0090]相應(yīng)地,上述S34中的獲取JS文件,具體包括:
[0091]檢測(cè)本地是否保存通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件;
[0092]若本地保存通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送當(dāng)前菜單的分組包括的標(biāo)識(shí),以使靜態(tài)資源服務(wù)器獲取當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送,接收靜態(tài)資源服務(wù)器發(fā)送的JS文件,并從本地獲取通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,將接收的靜態(tài)資源服務(wù)器發(fā)送的JS文件和從本地獲取的業(yè)務(wù)JS文件確定為JS文件;
[0093]若本地未保存通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送通用組包括的標(biāo)識(shí)和當(dāng)前菜單的分組包括的標(biāo)識(shí),以使靜態(tài)資源服務(wù)器獲取通用組包括的標(biāo)識(shí)和當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送;接收靜態(tài)資源服務(wù)器發(fā)送的JS文件,將接收的靜態(tài)資源服務(wù)器發(fā)送的JS文件確定為JS文件。
[0094]基于上述去重處理,在獲取JS文件時(shí),可以首先檢查本地是否保存通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,若是,從靜態(tài)資源服務(wù)器獲取當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送,接收靜態(tài)資源服務(wù)器發(fā)送的JS文件,并從本地獲取通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,將接收的靜態(tài)資源服務(wù)器發(fā)送的JS文件和從本地獲取的業(yè)務(wù)JS文件確定為JS文件;若否,可以從靜態(tài)資源服務(wù)器獲取通用組包括的標(biāo)識(shí)和當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件,將接收的靜態(tài)資源服務(wù)器發(fā)送的JS文件確定為JS文件。
[0095]以上分別介紹了以應(yīng)用服務(wù)器和客戶端為執(zhí)行主體時(shí)的用于頁(yè)面顯示的JS文件加載方法,下面介紹在如圖1的用于頁(yè)面顯示的JS文件加載系統(tǒng)中的JS文件加載方法,該系統(tǒng)還可以包括靜態(tài)資源服務(wù)器3,如圖5所示,具體執(zhí)行步驟如下:
[0096]S51:客戶端向應(yīng)用服務(wù)器發(fā)送第一 URL和用戶標(biāo)識(shí)。
[0097]S52:應(yīng)用服務(wù)器接收客戶端發(fā)送的第一 URL和用戶標(biāo)識(shí)。
[0098]S53:應(yīng)用服務(wù)器確定第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中,發(fā)送給客戶端。
[0099]可以從預(yù)先保存的標(biāo)識(shí)文本中獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí),從用戶數(shù)據(jù)庫(kù)中獲取用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0100]S54:客戶端接收第二 URL,將第二 URL的變量屬性中攜帶的每個(gè)菜單相關(guān)的標(biāo)識(shí)進(jìn)行去重,并將重復(fù)的標(biāo)識(shí)保存在通用組中,將去重后的每個(gè)菜單相關(guān)的標(biāo)識(shí)保存在對(duì)應(yīng)菜單的分組中,每個(gè)菜單相關(guān)的標(biāo)識(shí)包括每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0101]S55:客戶端確定當(dāng)前菜單,從第二 URL的變量屬性中獲取當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0102]S56:客戶端檢測(cè)本地是否保存通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,若是,執(zhí)行S57 ;若否,執(zhí)行S60。
[0103]S57:客戶端向靜態(tài)資源服務(wù)器發(fā)送當(dāng)前菜單的分組包括的標(biāo)識(shí)。
[0104]S58:靜態(tài)資源服務(wù)器獲取當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送。
[0105]S59:客戶端接收靜態(tài)資源服務(wù)器發(fā)送的JS文件,并從本地獲取通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0106]接收的靜態(tài)資源服務(wù)器發(fā)送的JS文件和從本地獲取的業(yè)務(wù)JS文件,就是當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,即進(jìn)行頁(yè)顯示時(shí)需要加載的JS文件。
[0107]S60:客戶端向靜態(tài)資源服務(wù)器發(fā)送通用組包括的標(biāo)識(shí)和當(dāng)前菜單的分組包括的標(biāo)識(shí)O
[0108]S61:靜態(tài)資源服務(wù)器獲取通用組包括的標(biāo)識(shí)和當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送。
[0109]S62:客戶端接收靜態(tài)資源服務(wù)器發(fā)送的JS文件。
[0110]接收的靜態(tài)資源服務(wù)器發(fā)送的JS文件就是當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,即進(jìn)行頁(yè)顯示時(shí)需要加載的JS文件。
[0111]該方案中,用戶需要瀏覽頁(yè)面時(shí),可以將該頁(yè)面對(duì)應(yīng)的第一 URL和用戶標(biāo)識(shí)一起發(fā)送給應(yīng)用服務(wù)器,相應(yīng)地應(yīng)用服務(wù)器將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中一起發(fā)送給客戶端,從而客戶端可以根據(jù)第二 URL的變量屬性一次性獲取當(dāng)前菜單對(duì)應(yīng)的入口JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,完成JS文件加載,由于只有當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件被加載,沒有加載多余的入口 JS文件,從而節(jié)省服務(wù)器和網(wǎng)絡(luò)帶寬資源;并且自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件同時(shí)被加載,不再采用異步加載的方式,這就會(huì)縮短JS文件加載的時(shí)間,從而減少頁(yè)面顯示的時(shí)間。
[0112]基于同一發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例還提供一種信息提供裝置,該裝置與圖2所示的用于頁(yè)面顯示的JS文件加載方法相對(duì)應(yīng),可以設(shè)置在如圖1所示的用于頁(yè)面顯示的JS文件加載系統(tǒng)中的應(yīng)用服務(wù)器I中,結(jié)構(gòu)如6圖所示,包括接收單元61、獲取單元62和發(fā)送單元63。其中:
[0113]接收單元61,用于接收客戶端發(fā)送的第一 URL和用戶標(biāo)識(shí)。
[0114]獲取單元62,用于確定第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0115]發(fā)送單元63,用于生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中,發(fā)送給客戶端,以使客戶端確定當(dāng)前菜單,從第二 URL的變量屬性中獲取當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),并獲取JS文件,JS文件包括當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0116]該方案中,用戶需要瀏覽頁(yè)面時(shí),可以將該頁(yè)面對(duì)應(yīng)的第一 URL和用戶標(biāo)識(shí)一起發(fā)送給應(yīng)用服務(wù)器,相應(yīng)地應(yīng)用服務(wù)器將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中一起發(fā)送給客戶端,從而客戶端可以根據(jù)第二 URL的變量屬性一次性獲取當(dāng)前菜單對(duì)應(yīng)的入口JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,完成JS文件加載,由于只有當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件被加載,沒有加載多余的入口 JS文件,從而節(jié)省服務(wù)器和網(wǎng)絡(luò)帶寬資源;并且自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件同時(shí)被加載,不再采用異步加載的方式,這就會(huì)縮短JS文件加載的時(shí)間,從而減少頁(yè)面顯示的時(shí)間。
[0117]具體的,上述獲取單元62,具體用于:
[0118]從預(yù)先保存的標(biāo)識(shí)文本中獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí);
[0119]從用戶數(shù)據(jù)庫(kù)中獲取用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0120]基于同一發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例還提供一種信息提供裝置,該裝置與圖3所示的用于頁(yè)面顯示的JS文件加載方法相對(duì)應(yīng),可以設(shè)置在如圖1所示的用于頁(yè)面顯示的JS文件加載系統(tǒng)中的客戶端2中,結(jié)構(gòu)如7圖所示,包括發(fā)送單元71、接收單元72、第一獲取單元73和第二獲取單元74。其中:
[0121]發(fā)送單元71,用于向應(yīng)用服務(wù)器發(fā)送第一 URL和用戶標(biāo)識(shí),以使應(yīng)用服務(wù)器確定第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中并發(fā)送。
[0122]接收單元72,用于接收第二 URL。
[0123]第一獲取單元73,用于確定當(dāng)前菜單,從第二 URL的變量屬性中獲取當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0124]第二獲取單元74,用于獲取JS文件,JS文件包括當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。
[0125]該方案中,用戶需要瀏覽頁(yè)面時(shí),可以將該頁(yè)面對(duì)應(yīng)的第一 URL和用戶標(biāo)識(shí)一起發(fā)送給應(yīng)用服務(wù)器,相應(yīng)地應(yīng)用服務(wù)器將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到第二 URL的變量屬性中一起發(fā)送給客戶端,從而客戶端可以根據(jù)第二 URL的變量屬性一次性獲取當(dāng)前菜單對(duì)應(yīng)的入口JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件,從而完成JS文件加載,由于只有當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件被加載,沒有加載多余的入口 JS文件,從而節(jié)省服務(wù)器和網(wǎng)絡(luò)帶寬資源;并且自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件同時(shí)被加載,不再采用異步加載的方式,這就會(huì)縮短JS文件加載的時(shí)間,從而減少頁(yè)面顯示的時(shí)間。
[0126]具體的,上述第二獲取單元74,具體用于:
[0127]向靜態(tài)資源服務(wù)器發(fā)送當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),以使靜態(tài)資源服務(wù)器獲取JS文件;
[0128]接收靜態(tài)資源服務(wù)器發(fā)送的JS文件。
[0129]可選的,上述接收單元72,還用于:
[0130]將第二 URL的變量屬性中攜帶的每個(gè)菜單相關(guān)的標(biāo)識(shí)進(jìn)行去重,并將重復(fù)的標(biāo)識(shí)保存在通用組中,將去重后的每個(gè)菜單相關(guān)的標(biāo)識(shí)保存在對(duì)應(yīng)菜單的分組中,每個(gè)菜單相關(guān)的標(biāo)識(shí)包括每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。
[0131]相應(yīng)地,上述第二獲取單元74,具體用于:
[0132]檢測(cè)本地是否保存通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件;
[0133]若本地保存通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送當(dāng)前菜單的分組包括的標(biāo)識(shí),以使靜態(tài)資源服務(wù)器獲取當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送,接收靜態(tài)資源服務(wù)器發(fā)送的JS文件,并從本地獲取通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,將接收的靜態(tài)資源服務(wù)器發(fā)送的JS文件和從本地獲取的業(yè)務(wù)JS文件確定為JS文件;
[0134]若本地未保存通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送通用組包括的標(biāo)識(shí)和當(dāng)前菜單的分組包括的標(biāo)識(shí),以使靜態(tài)資源服務(wù)器獲取通用組包括的標(biāo)識(shí)和當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送;接收靜態(tài)資源服務(wù)器發(fā)送的JS文件,將接收的靜態(tài)資源服務(wù)器發(fā)送的JS文件確定為JS文件。
[0135]上述說明示出并描述了本申請(qǐng)的優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本申請(qǐng)并非局限于本文所披露的形式,不應(yīng)看作是對(duì)其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí)進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本申請(qǐng)的精神和范圍,則都應(yīng)在本申請(qǐng)所附權(quán)利要求的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種用于頁(yè)面顯示的JS文件加載方法,應(yīng)用于應(yīng)用服務(wù)器中,其特征在于,包括: 接收客戶端發(fā)送的第一統(tǒng)一資源定位符URL和用戶標(biāo)識(shí); 確定所述第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí); 生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到所述第二 URL的變量屬性中,發(fā)送給所述客戶端,以使所述客戶端確定當(dāng)前菜單,從所述第二 URL的變量屬性中獲取所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),并獲取JS文件,所述JS文件包括所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。2.如權(quán)利要求1所述的方法,其特征在于,獲取每個(gè)菜單對(duì)應(yīng)的入口JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),具體包括: 從預(yù)先保存的標(biāo)識(shí)文本中獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí); 從用戶數(shù)據(jù)庫(kù)中獲取所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。3.一種用于頁(yè)面顯示的JS文件加載方法,應(yīng)用于客戶端中,其特征在于,包括: 向應(yīng)用服務(wù)器發(fā)送第一統(tǒng)一資源定位符URL和用戶標(biāo)識(shí),以使所述應(yīng)用服務(wù)器確定所述第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到所述第二 URL的變量屬性中并發(fā)送; 接收所述第二 URL ; 確定當(dāng)前菜單,從所述第二 URL的變量屬性中獲取所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí); 獲取JS文件,所述JS文件包括所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。4.如權(quán)利要求3所述的方法,其特征在于,獲取JS文件,具體包括: 向靜態(tài)資源服務(wù)器發(fā)送所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述JS文件; 接收所述靜態(tài)資源服務(wù)器發(fā)送的所述JS文件。5.如權(quán)利要求3所述的方法,其特征在于,還包括: 將所述第二 URL的變量屬性中攜帶的每個(gè)菜單相關(guān)的標(biāo)識(shí)進(jìn)行去重,并將重復(fù)的標(biāo)識(shí)保存在通用組中,將去重后的每個(gè)菜單相關(guān)的標(biāo)識(shí)保存在對(duì)應(yīng)菜單的分組中,每個(gè)菜單相關(guān)的標(biāo)識(shí)包括每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí); 獲取JS文件,具體包括: 檢測(cè)本地是否保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件; 若本地保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送所述當(dāng)前菜單的分組包括的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送,接收所述靜態(tài)資源服務(wù)器發(fā)送的JS文件,并從本地獲取所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,將接收的所述靜態(tài)資源服務(wù)器發(fā)送的JS文件和從本地獲取的業(yè)務(wù)JS文件確定為所述JS文件; 若本地未保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送所述通用組包括的標(biāo)識(shí)和所述當(dāng)前菜單的分組包括的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述通用組包括的標(biāo)識(shí)和所述當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送;接收所述靜態(tài)資源服務(wù)器發(fā)送的JS文件,將接收的所述靜態(tài)資源服務(wù)器發(fā)送的JS文件確定為所述JS文件。6.一種用于頁(yè)面顯示的JS文件加載裝置,其特征在于,包括: 接收單元,用于接收客戶端發(fā)送的第一統(tǒng)一資源定位符URL和用戶標(biāo)識(shí); 獲取單元,用于確定所述第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí); 發(fā)送單元,用于生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到所述第二 URL的變量屬性中,發(fā)送給所述客戶端,以使所述客戶端確定當(dāng)前菜單,從所述第二 URL的變量屬性中獲取所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),并獲取JS文件,所述JS文件包括所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。7.如權(quán)利要求6所述的裝置,其特征在于,所述獲取單元,具體用于: 從預(yù)先保存的標(biāo)識(shí)文本中獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí); 從用戶數(shù)據(jù)庫(kù)中獲取所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)。8.一種用于頁(yè)面顯示的JS文件加載裝置,應(yīng)用于客戶端中,其特征在于,包括: 發(fā)送單元,用于向應(yīng)用服務(wù)器發(fā)送第一統(tǒng)一資源定位符URL和用戶標(biāo)識(shí),以使所述應(yīng)用服務(wù)器確定所述第一 URL對(duì)應(yīng)的頁(yè)面包括的菜單,獲取每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),生成第二 URL,將每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí)添加到所述第二 URL的變量屬性中并發(fā)送; 接收單元,用于接收所述第二 URL ; 第一獲取單元,用于確定當(dāng)前菜單,從所述第二 URL的變量屬性中獲取所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí); 第二獲取單元,用于獲取JS文件,所述JS文件包括所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件以及所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件。9.如權(quán)利要求8所述的裝置,其特征在于,所述第二獲取單元,具體用于: 向靜態(tài)資源服務(wù)器發(fā)送所述當(dāng)前菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在所述當(dāng)前菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述JS文件; 接收所述靜態(tài)資源服務(wù)器發(fā)送的所述JS文件。10.如權(quán)利要求8所述的裝置,其特征在于,所述接收單元,還用于: 將所述第二 URL的變量屬性中攜帶的每個(gè)菜單相關(guān)的標(biāo)識(shí)進(jìn)行去重,并將重復(fù)的標(biāo)識(shí)保存在通用組中,將去重后的每個(gè)菜單相關(guān)的標(biāo)識(shí)保存在對(duì)應(yīng)菜單的分組中,每個(gè)菜單相關(guān)的標(biāo)識(shí)包括每個(gè)菜單對(duì)應(yīng)的入口 JS文件的標(biāo)識(shí)以及所述用戶標(biāo)識(shí)在每個(gè)菜單下自定義區(qū)塊對(duì)應(yīng)的業(yè)務(wù)JS文件的標(biāo)識(shí); 所述第二獲取單元,具體用于: 檢測(cè)本地是否保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件; 若本地保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送所述當(dāng)前菜單的分組包括的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送,接收所述靜態(tài)資源服務(wù)器發(fā)送的JS文件,并從本地獲取所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,將接收的所述靜態(tài)資源服務(wù)器發(fā)送的JS文件和從本地獲取的業(yè)務(wù)JS文件確定為所述JS文件; 若本地未保存所述通用組包括的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)JS文件,則向靜態(tài)資源服務(wù)器發(fā)送所述通用組包括的標(biāo)識(shí)和所述當(dāng)前菜單的分組包括的標(biāo)識(shí),以使所述靜態(tài)資源服務(wù)器獲取所述通用組包括的標(biāo)識(shí)和所述當(dāng)前菜單的分組包括的標(biāo)識(shí)對(duì)應(yīng)的JS文件并發(fā)送;接收所述靜態(tài)資源服務(wù)器發(fā)送的JS文件,將接收的所述靜態(tài)資源服務(wù)器發(fā)送的JS文件確定為所述JS文件。11.一種用于頁(yè)面顯示的JS文件加載系統(tǒng),其特征在于,包括客戶端和應(yīng)用服務(wù)器,其中: 所述客戶端包括如權(quán)利要求6或7所述的用于頁(yè)面顯示的JS文件加載裝置; 所述應(yīng)用服務(wù)器包括如權(quán)利要求8-10任一所述的用于頁(yè)面顯示的JS文件加載裝置。
【文檔編號(hào)】G06F17/30GK105989091SQ201510075862
【公開日】2016年10月5日
【申請(qǐng)日】2015年2月12日
【發(fā)明人】屈傳鵬
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司