两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種加載頁面模塊的方法和設(shè)備與流程

文檔序號(hào):11829832閱讀:243來源:國(guó)知局
一種加載頁面模塊的方法和設(shè)備與流程

本申請(qǐng)涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種加載頁面模塊的方法和設(shè)備。



背景技術(shù):

如今前端的JS(Java Script,腳本語言)越來越追求模塊化,模塊與模塊之間盡可能的解耦,因此也就誕生了AMD(Asynchronous Module Definition,異步模塊定義),CMD(Common Module Definition,常見的模塊定義)等規(guī)范的模塊化JS寫法。每個(gè)模塊的JS只負(fù)責(zé)這一個(gè)小模塊的交互,渲染等操作。

一般來說,每個(gè)模塊有一個(gè)入口的方法(例如用變量init方法表示入口的方法),當(dāng)頁面在文件準(zhǔn)備就緒以后,框架會(huì)去逐一調(diào)用每個(gè)模塊的init方法,以完成所有模塊的渲染,注冊(cè)交互事件等。然而,在有的頁面中多個(gè)模塊的執(zhí)行順序固定,執(zhí)行順序靠后的模塊會(huì)比較晚才能渲染出來,有時(shí)為了使其優(yōu)先執(zhí)行,只能在其它模塊的init方法里加入延遲調(diào)用函數(shù)語句,使其它模塊延后執(zhí)行,這種方法會(huì)使模塊之間的耦合度較高,進(jìn)而造成模塊的執(zhí)行效率較低。

綜上所述,目前頁面模塊的加載方式是逐一調(diào)用每個(gè)模塊,若要優(yōu)先執(zhí)行順序靠后的模塊,需要在其它模塊對(duì)應(yīng)的程序中加入延遲調(diào)用函數(shù),因而各個(gè)模塊之間聯(lián)系會(huì)變緊密,進(jìn)而造成各個(gè)模塊之間耦合性較強(qiáng)。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)實(shí)施例提供的一種加載頁面模塊的方法和設(shè)備,用以解決現(xiàn)有技術(shù)中存在的頁面模塊的加載方式是逐一調(diào)用每個(gè)模塊,若要優(yōu)先執(zhí)行順序靠后的模塊,需要在其它模塊對(duì)應(yīng)的程序中加入延遲調(diào)用函數(shù)語句,但延遲調(diào)用函數(shù)會(huì)造成各個(gè)模塊之間的耦合度較高的問題。

一方面,本申請(qǐng)實(shí)施例提供的一種加載頁面模塊的方法,該方法包括:

確定頁面中每個(gè)模塊的每個(gè)任務(wù),其中所述任務(wù)是加載模塊所對(duì)應(yīng)的操作;

根據(jù)設(shè)定的任務(wù)處理順序,確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù);

按照設(shè)定的模塊調(diào)用順序,依次對(duì)模塊中的所述當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用,并返回確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù)的步驟,直到調(diào)用完所述頁面中所有模塊的所有任務(wù)。

本申請(qǐng)實(shí)施例確定頁面中每個(gè)模塊的每個(gè)任務(wù),并根據(jù)設(shè)定的模塊調(diào)用順序,依次對(duì)頁面中各個(gè)模塊中的同一任務(wù)處理順序的任務(wù)進(jìn)行調(diào)用。由于能夠根據(jù)需要設(shè)定模塊調(diào)用順序和任務(wù)處理順序,從而在需要優(yōu)先執(zhí)行順序靠后的模塊或者任務(wù)時(shí),可以通過將該模塊中對(duì)應(yīng)任務(wù)的任務(wù)優(yōu)先級(jí)設(shè)定為較高的優(yōu)先級(jí)實(shí)現(xiàn),而無需在其它模塊對(duì)應(yīng)的程序中增加額外的延遲調(diào)用函數(shù),因而不會(huì)增加各個(gè)模塊之間的聯(lián)系,進(jìn)而使各個(gè)模塊之間的耦合性降低。

可選的,根據(jù)下列方式確定任務(wù)處理順序:

根據(jù)預(yù)設(shè)頁面與任務(wù)處理順序的對(duì)應(yīng)關(guān)系,確定所述頁面對(duì)應(yīng)的任務(wù)處理順序。

由于本申請(qǐng)實(shí)施例可以通過不同的方式確定任務(wù)處理順序,因而能夠滿足更多不同處理順序的需求,從而增加了加載頁面模塊的方式的多樣性。

可選的,根據(jù)下列方式確定模塊調(diào)用順序:

根據(jù)預(yù)設(shè)的任務(wù)與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定所述當(dāng)前需要處理的任務(wù)對(duì)應(yīng)的模塊調(diào)用順序;和/或

根據(jù)預(yù)設(shè)頁面與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定所述頁面對(duì)應(yīng)的模塊調(diào)用順序。

由于本申請(qǐng)實(shí)施例可以通過不同的方式確定模塊調(diào)用順序,因而能夠滿足更多不同處理順序的需求,從而增加了加載頁面模塊的方式的多樣性。

可選的,確定頁面中每個(gè)模塊的每個(gè)任務(wù)之前,還包括:

針對(duì)一個(gè)模塊,將該模塊對(duì)應(yīng)的需要同時(shí)執(zhí)行的操作作為該模塊的一個(gè)任務(wù)。

由于本申請(qǐng)實(shí)施例將每個(gè)模塊分為多個(gè)任務(wù),進(jìn)而通過控制每個(gè)任務(wù)的處理順序,滿足不同的加載需求,從而增加了加載頁面模塊的方式的多樣性。

可選的,確定頁面中每個(gè)模塊的每個(gè)任務(wù)之前,還包括:

將所述頁面中的各個(gè)模塊對(duì)應(yīng)的所有任務(wù)存儲(chǔ)到緩存區(qū)中;

確定頁面中每個(gè)模塊的每個(gè)任務(wù),包括:

根據(jù)所述緩存區(qū)中存儲(chǔ)的任務(wù),確定所述頁面中每個(gè)模塊的每個(gè)任務(wù)。

由于將頁面中所有模塊的所有任務(wù)都存儲(chǔ)到了緩存區(qū),因而在頁面加載時(shí),可以提高加載的速度。

可選的,確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù)之后,依次對(duì)模塊中的所述當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用之前,還包括:

確定每個(gè)模塊的所有任務(wù)中包含所述當(dāng)前需要處理的任務(wù)的模塊;

依次對(duì)模塊中的所述當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用,包括:

依次對(duì)確定的模塊中的所述當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用。

由于在確定出當(dāng)前需要處理的任務(wù)之后,僅對(duì)頁面中所有模塊中包含所述當(dāng)前需要處理的任務(wù)的模塊進(jìn)行調(diào)用,進(jìn)而能夠?qū)崿F(xiàn)依次執(zhí)行頁面的不同模塊中的相同類型的任務(wù)。

可選的,若所述頁面包括用于監(jiān)聽事件的監(jiān)聽模塊和用于廣播事件的廣播模塊,則所述監(jiān)聽模塊中監(jiān)聽任務(wù)的優(yōu)先級(jí),比所述廣播模塊中廣播任務(wù)的優(yōu)先級(jí)高。

由于可以預(yù)先設(shè)定模塊調(diào)用順序和任務(wù)處理順序,因而可以僅通過設(shè)定執(zhí)行廣播事件的監(jiān)聽模塊和廣播模塊的優(yōu)先級(jí)順序,就能實(shí)現(xiàn)頁面中的廣播事件。

另一方面,本申請(qǐng)實(shí)施例提供的一種加載頁面模塊的設(shè)備,該設(shè)備包括:

第一確定模塊,用于確定頁面中每個(gè)模塊的每個(gè)任務(wù),其中所述任務(wù)是加載模塊所對(duì)應(yīng)的操作;

第二確定模塊,用于根據(jù)設(shè)定的任務(wù)處理順序,確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù);

處理模塊,用于按照設(shè)定的模塊調(diào)用順序,依次對(duì)模塊中的所述當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用,并觸發(fā)第二確定模塊執(zhí)行確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù)的步驟,直到調(diào)用完所述頁面中所有模塊的所有任務(wù)。

可選的,所述第二確定模塊還用于,根據(jù)下列方式確定任務(wù)處理順序:

根據(jù)預(yù)設(shè)頁面與任務(wù)處理順序的對(duì)應(yīng)關(guān)系,確定所述頁面對(duì)應(yīng)的任務(wù)處理順序。

可選的,所述處理模塊還用于,根據(jù)下列方式確定模塊調(diào)用順序:

根據(jù)預(yù)設(shè)的任務(wù)與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定所述當(dāng)前需要處理的任務(wù)對(duì)應(yīng)的模塊調(diào)用順序;和/或,根據(jù)預(yù)設(shè)頁面與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定所述頁面對(duì)應(yīng)的模塊調(diào)用順序。

可選的,所述第一確定模塊還用于:

在確定頁面中每個(gè)模塊的每個(gè)任務(wù)之前,針對(duì)一個(gè)模塊,將該模塊對(duì)應(yīng)的需要同時(shí)執(zhí)行的操作作為該模塊的一個(gè)任務(wù)。

可選的,所述第一確定模塊還用于:

在確定頁面中每個(gè)模塊的每個(gè)任務(wù)之前,將所述頁面中的各個(gè)模塊對(duì)應(yīng)的所有任務(wù)存儲(chǔ)到緩存區(qū)中;并根據(jù)所述緩存區(qū)中存儲(chǔ)的任務(wù),確定所述頁面中每個(gè)模塊的每個(gè)任務(wù)。

可選的,所述處理模塊還用于:

在確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù)之后,依次對(duì)模塊中的所述當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用之前,確定每個(gè)模塊的所有任務(wù)中包含所述當(dāng)前需要處理的任務(wù)的模塊;并依次對(duì)確定的模塊中的所述當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用。

可選的,若所述頁面包括用于監(jiān)聽事件的監(jiān)聽模塊和用于廣播事件的廣播 模塊,則所述監(jiān)聽模塊中監(jiān)聽任務(wù)的優(yōu)先級(jí),比所述廣播模塊中廣播任務(wù)的優(yōu)先級(jí)高。

附圖說明

圖1為本申請(qǐng)實(shí)施例提供的一種加載頁面模塊的方法;

圖2為本申請(qǐng)實(shí)施例提供的頁面模塊分布示意圖;

圖3為本申請(qǐng)實(shí)施例提供的加載頁面模塊的方法的整體流程示意圖;

圖4為本申請(qǐng)實(shí)施例提供的在瀏覽器中加載頁面模塊的整體流程示意圖;

圖5為本申請(qǐng)實(shí)施例提供的一種加載頁面模塊的結(jié)構(gòu)示意圖。

具體實(shí)施方式

本申請(qǐng)實(shí)施例確定頁面中每個(gè)模塊的每個(gè)任務(wù),并根據(jù)設(shè)定的模塊調(diào)用順序,依次對(duì)頁面中各個(gè)模塊中的同一任務(wù)處理順序的任務(wù)進(jìn)行調(diào)用。由于能夠根據(jù)需要設(shè)定模塊調(diào)用順序和任務(wù)處理順序,從而在需要優(yōu)先執(zhí)行順序靠后的模塊或者任務(wù)時(shí),可以通過將該模塊中對(duì)應(yīng)任務(wù)的任務(wù)優(yōu)先級(jí)設(shè)定為較高的優(yōu)先級(jí)實(shí)現(xiàn),而無需在其它模塊對(duì)應(yīng)的程序中增加額外的延遲調(diào)用函數(shù),因而不會(huì)增加各個(gè)模塊之間的聯(lián)系,進(jìn)而使各個(gè)模塊之間的耦合性降低。

以下結(jié)合說明書附圖對(duì)本申請(qǐng)的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本申請(qǐng),并不用于限定本申請(qǐng)。并且在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。

下面結(jié)合說明書附圖對(duì)本申請(qǐng)實(shí)施例作進(jìn)一步詳細(xì)描述。

如圖1所示,本申請(qǐng)實(shí)施例提供的一種加載頁面模塊的方法包括:

步驟101、確定頁面中每個(gè)模塊的每個(gè)任務(wù),其中任務(wù)是加載模塊所對(duì)應(yīng)的操作;

步驟102、根據(jù)設(shè)定的任務(wù)處理順序,確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù);

步驟103、按照設(shè)定的模塊調(diào)用順序,依次對(duì)模塊中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用,并返回確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù)的步驟,直到調(diào)用完頁面中所有模塊的所有任務(wù)。

實(shí)施中,本申請(qǐng)實(shí)施例中涉及到的模塊的劃分、任務(wù)處理順序的設(shè)定以及模塊調(diào)用順序的設(shè)定,都可以根據(jù)用戶的實(shí)際需要進(jìn)行設(shè)定。同時(shí),有多種情況需要加載頁面模塊,比如用戶需要打開瀏覽器打開網(wǎng)頁時(shí),或者是用戶通過手機(jī)客戶端打開網(wǎng)頁時(shí),采用模塊化編程的實(shí)現(xiàn)形式,通過分別加載每個(gè)模塊中的內(nèi)容,進(jìn)而展示出整個(gè)頁面中的內(nèi)容。

現(xiàn)有技術(shù)將頁面中每個(gè)模塊對(duì)應(yīng)的所有操作作為一個(gè)init方法,也就是說,一個(gè)模塊對(duì)應(yīng)一個(gè)init方法。而在本申請(qǐng)實(shí)施例中,將頁面中每個(gè)模塊對(duì)應(yīng)的需要同時(shí)執(zhí)行的操作作為一個(gè)任務(wù)(即一個(gè)init方法)。也就說是,本申請(qǐng)實(shí)施例中的每個(gè)模塊會(huì)對(duì)應(yīng)至少一個(gè)init方法。

例如,假設(shè)針對(duì)頁面中某一個(gè)模塊,該模塊中包括需要渲染的廣告位,顯示綁定交互事件(比如圖片輪播事件,以及在輸入框輸入內(nèi)容時(shí)自動(dòng)彈出下拉框?qū)崟r(shí)提示輸入內(nèi)容的事件等)、需要渲染的動(dòng)畫、以及渲染的音頻等多個(gè)操作。

在現(xiàn)有技術(shù)中,在加載模塊時(shí)同時(shí)加載該模塊中的所有操作。而本申請(qǐng)實(shí)施例中,可以根據(jù)需要將該模塊中需要同時(shí)執(zhí)行的操作作為一個(gè)任務(wù),且該模塊中這些可以根據(jù)需要?jiǎng)澐譃槎鄠€(gè)任務(wù)。

例如,針對(duì)該頁面的廣告位和需要渲染的動(dòng)畫,根據(jù)實(shí)際需要兩者要同時(shí)展現(xiàn)給用戶,因而需要將渲染的廣告位和需要渲染的動(dòng)畫同時(shí)執(zhí)行,且該模塊中其它的顯示綁定交互事件和需要渲染的音頻也需要同時(shí)展現(xiàn)給用戶;因而可以將渲染廣告位所對(duì)應(yīng)的操作以及渲染動(dòng)畫所對(duì)應(yīng)的操作作為一個(gè)任務(wù),而將顯示綁定交互事件所對(duì)應(yīng)的操作以及渲染音頻所對(duì)應(yīng)的操作作為一個(gè)任務(wù)。

為了方便對(duì)本申請(qǐng)實(shí)施例進(jìn)行說明,下面結(jié)合具體的頁面劃分的模塊進(jìn)行說明,如圖2所示,為本申請(qǐng)實(shí)施例提供的頁面模塊分布示意圖;圖中虛線框表示首屏能夠展示的頁面范圍,并將首屏的頁面分為4個(gè)模塊(即模塊1、模塊 2、模塊3和模塊4)。本申請(qǐng)實(shí)施例僅以某一頁面首頁分為4個(gè)模塊,且每個(gè)模塊對(duì)應(yīng)任務(wù)1、任務(wù)2、任務(wù)3三個(gè)任務(wù)為例進(jìn)行詳細(xì)介紹,但并不代表是本申請(qǐng)實(shí)施例僅有這一種形式,其它劃分不同的模塊個(gè)數(shù)的頁面也適用于本申請(qǐng)實(shí)施例的方法。

本申請(qǐng)實(shí)施例是將每個(gè)模塊根據(jù)需要對(duì)應(yīng)劃分為多個(gè)任務(wù),并且可以根據(jù)設(shè)定的任務(wù)執(zhí)行順序,以及調(diào)用各個(gè)模塊的順序,對(duì)模塊中的各個(gè)任務(wù)進(jìn)行相應(yīng)處理。

可選的,根據(jù)設(shè)定的任務(wù)處理順序,確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù)。

實(shí)施中,任務(wù)處理順序有多種設(shè)定的方式,可以根據(jù)實(shí)際需要進(jìn)行設(shè)定;比如,可以根據(jù)需要預(yù)先設(shè)定好任務(wù)的執(zhí)行順序。

例如,針對(duì)該頁面的廣告位,業(yè)務(wù)上希望這一塊的數(shù)據(jù)最先加載完成,以獲取更多的曝光和點(diǎn)擊率,同時(shí)為了突出廣告的內(nèi)容,吸引用戶眼球,該模塊中相應(yīng)的需要渲染的動(dòng)畫也需要優(yōu)先執(zhí)行;而將該模塊中其它的顯示綁定交互事件和需要渲染的音頻不需要優(yōu)先執(zhí)行;因而在設(shè)定任務(wù)處理順序時(shí),可以設(shè)定需要優(yōu)先執(zhí)行的渲染廣告位和渲染動(dòng)畫所對(duì)應(yīng)的任務(wù)的優(yōu)先級(jí),比不需要優(yōu)先執(zhí)行的顯示綁定交互事件進(jìn)而渲染音頻所對(duì)應(yīng)的任務(wù)的優(yōu)先級(jí)高。

又例如,在實(shí)例化的時(shí)候可以配置參數(shù)為:

order:[‘init1’,’init 2’,’init 3’]

其中,order是一個(gè)數(shù)組,它規(guī)定了先把所有模塊的init1(即任務(wù)1)執(zhí)行完成,再執(zhí)行所有模塊的init2(即任務(wù)2),init3(即任務(wù)3)。此處order的指定可以形成一個(gè)規(guī)范,比如任務(wù)1是任務(wù)處理順序的優(yōu)先級(jí)最高的任務(wù),不能隨便使用,可以將最需要優(yōu)先執(zhí)行的任務(wù)放在任務(wù)1中。

例如,可以按照?qǐng)鼍暗牟煌?,以及用戶的?shí)際需要,將頁面中每個(gè)模塊對(duì)應(yīng)的需要同時(shí)執(zhí)行的操作作為一個(gè)任務(wù),并且根據(jù)需要設(shè)定所有任務(wù)的任務(wù)處理順序,假設(shè)某頁面包括三個(gè)任務(wù),其預(yù)設(shè)的任務(wù)處理順序的優(yōu)先級(jí)從高到低 分別為任務(wù)1、任務(wù)2、任務(wù)3。其中,每個(gè)任務(wù)中包含的具體操作,可以根據(jù)用戶需要進(jìn)行設(shè)定,下面假設(shè)每個(gè)任務(wù)中包含的操作。

任務(wù)1:可以根據(jù)需要將頁面首屏的某個(gè)模塊中需要JS執(zhí)行才能渲染出的內(nèi)容所對(duì)應(yīng)的渲染的相關(guān)操作;業(yè)務(wù)上需要優(yōu)先渲染出的,比如渲染廣告位所對(duì)應(yīng)的相關(guān)操作等作為優(yōu)先級(jí)最高的任務(wù)。

任務(wù)2:可以根據(jù)需要將首屏中普通模塊的初始化方法(如非渲染的操作)等,比如顯示綁定交互事件所對(duì)應(yīng)的相關(guān)操作作為優(yōu)先級(jí)第二的任務(wù)。

任務(wù)3:可以根據(jù)需要將非首屏模塊的初始化方法所對(duì)應(yīng)的相關(guān)操作,比如非首屏模塊中渲染廣告位所對(duì)應(yīng)的相關(guān)操作,或者是非首屏模塊中顯示綁定交互事件所對(duì)應(yīng)的相關(guān)操作等作為優(yōu)先級(jí)第三的任務(wù)。

上述任務(wù)1、任務(wù)2、任務(wù)3的舉例僅是為了方便說明本申請(qǐng)的實(shí)施例,但本申請(qǐng)實(shí)施例并不僅限于適用于上述舉例中的場(chǎng)景,其它的與加載頁面相關(guān)的場(chǎng)景也適用本申請(qǐng)的方法。

下面的說明舉例過程中,仍以上述任務(wù)1、任務(wù)2、任務(wù)3以及頁面劃分為4個(gè)模塊為例進(jìn)行說明,為了方便說明,以下都以任務(wù)1代表優(yōu)先級(jí)最高的任務(wù),任務(wù)2代表優(yōu)先級(jí)第二的任務(wù),任務(wù)3代表優(yōu)先級(jí)第三的任務(wù);而四個(gè)模塊分別用模塊1、模塊2、模塊3和模塊4表示。

除了可以預(yù)先設(shè)定某一頁面的任務(wù)處理順序外,還可以根據(jù)需要將不同的頁面設(shè)定為對(duì)應(yīng)不同的任務(wù)處理順序??蛇x的,根據(jù)下列方式確定任務(wù)處理順序:根據(jù)預(yù)設(shè)頁面與任務(wù)處理順序的對(duì)應(yīng)關(guān)系,確定頁面對(duì)應(yīng)的任務(wù)處理順序。

也就是說,可以根據(jù)需要對(duì)不同的頁面中的任務(wù)設(shè)定不同的任務(wù)處理順序,需要根據(jù)頁面與任務(wù)處理順序的對(duì)應(yīng)關(guān)系,確定當(dāng)前頁面對(duì)應(yīng)的任務(wù)處理順序。例如,假定A頁面的任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3;而B頁面中,可能將任務(wù)處理順序設(shè)定為任務(wù)2、任務(wù)1、任務(wù)3更加合理。因而,在確定任務(wù)處理順序時(shí),需要確定該頁面與任務(wù)處理順序的對(duì)應(yīng)關(guān)系,若是A頁面,則任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3;若是B頁面,則任務(wù)處理順序?yàn)槿蝿?wù)2、 任務(wù)1、任務(wù)3。

實(shí)施中,要先確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù);還是以如圖2為例,且該頁面為A頁面,A頁面對(duì)應(yīng)的任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3。其中,假設(shè)模塊1包含任務(wù)1、任務(wù)2、任務(wù)3;模塊2包含任務(wù)1、任務(wù)2;模塊3包含任務(wù)2;模塊4包含任務(wù)2、任務(wù)3。因而,根據(jù)設(shè)定的任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3,確定出當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)1為當(dāng)前需要處理的任務(wù)。

其中,確定任務(wù)處理順序的方法不僅限于上述根據(jù)頁面確定的方式,其它能夠確定任務(wù)處理順序的方法也適用于本申請(qǐng)的方法。

在確定出當(dāng)前需要處理的任務(wù)后,對(duì)當(dāng)前需要處理的任務(wù)進(jìn)行處理時(shí),需要剔除掉不包含當(dāng)前需要處理任務(wù)的模塊。具體的,在步驟102之后,步驟103之前,確定每個(gè)模塊的所有任務(wù)中包含當(dāng)前需要處理的任務(wù)的模塊;依次對(duì)確定的模塊中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用。

也就是說,首先要確定出頁面的所有模塊中包含當(dāng)前需要處理的任務(wù)的模塊,剔除掉不包含當(dāng)前需要處理任務(wù)的模塊,依次對(duì)剩余模塊(即確定的模塊)中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用。

接著以圖2中4個(gè)模塊的A頁面為例,假設(shè)模塊1包含任務(wù)1、任務(wù)2、任務(wù)3;模塊2包含任務(wù)1、任務(wù)2;模塊3包含任務(wù)2;模塊4包含任務(wù)2、任務(wù)3。因而,根據(jù)設(shè)定的任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3,確定出當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)1為當(dāng)前需要處理的任務(wù)后,確定A頁面的4個(gè)模塊中包含當(dāng)前需要處理的任務(wù)1的模塊,即模塊1和模塊2,依次對(duì)模塊1和2中的當(dāng)前需要處理的任務(wù)1進(jìn)行調(diào)用。

若假設(shè)當(dāng)前需要處理的任務(wù)為任務(wù)2,則確定A頁面的4個(gè)模塊中包含當(dāng)前需要處理的任務(wù)2的模塊,即模塊1、模塊2、模塊3和模塊4,依次對(duì)模塊1、2、3和4中的當(dāng)前需要處理的任務(wù)2進(jìn)行調(diào)用。

在依次對(duì)模塊中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用之后,判斷剩余的任務(wù)中 優(yōu)先級(jí)最高的任務(wù)并進(jìn)行調(diào)用??蛇x的,按照設(shè)定的模塊調(diào)用順序,依次對(duì)模塊中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用,并返回確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù)的步驟,直到調(diào)用完頁面中所有模塊的所有任務(wù)。

實(shí)施中,在按照設(shè)定的模塊調(diào)用順序,依次對(duì)模塊中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用完成之后,判斷剩余的任務(wù)中優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù),并根據(jù)前述方法對(duì)確定的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用,直到調(diào)用完頁面中所有模塊的所有任務(wù)。

例如,以上述圖2中4個(gè)模塊的A頁面為例,根據(jù)設(shè)定的任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3,確定出當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)1為當(dāng)前需要處理的任務(wù)后,確定A頁面的4個(gè)模塊中包含當(dāng)前需要處理的任務(wù)1的模塊,即模塊1和模塊2,依次對(duì)模塊1和2中的當(dāng)前需要處理的任務(wù)1進(jìn)行調(diào)用。繼續(xù)判斷當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)2為當(dāng)前需要處理的任務(wù),確定A頁面的4個(gè)模塊中包含當(dāng)前需要處理的任務(wù)2的模塊,即模塊1、模塊2、模塊3和模塊4,依次對(duì)模塊1、2、3和4中的當(dāng)前需要處理的任務(wù)2進(jìn)行調(diào)用。判斷當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)3為當(dāng)前需要處理的任務(wù),確定A頁面的4個(gè)模塊中包含當(dāng)前需要處理的任務(wù)3的模塊,即模塊1和模塊4,依次對(duì)模塊1和4中的當(dāng)前需要處理的任務(wù)3進(jìn)行調(diào)用,直到A頁面中所有模塊中的所有任務(wù)調(diào)用完成。

本申請(qǐng)實(shí)施例中模塊調(diào)用順序可以依據(jù)頁面進(jìn)行設(shè)定,也可以依據(jù)任務(wù)進(jìn)行設(shè)定。下面分別進(jìn)行說明。

一、根據(jù)預(yù)設(shè)的任務(wù),確定模塊調(diào)用順序。

具體的,根據(jù)預(yù)設(shè)的任務(wù)與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定當(dāng)前需要處理的任務(wù)對(duì)應(yīng)的模塊調(diào)用順序。

也就是說,可以根據(jù)需要對(duì)不同的任務(wù)設(shè)定不同的模塊調(diào)用順序。

以上述圖2中4個(gè)模塊的A頁面為例,假定任務(wù)1的模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;而針對(duì)任務(wù)2,可能將模塊調(diào)用順序設(shè)定為模塊2、 模塊1、模塊3、模塊4更加合理。因而,在確定模塊調(diào)用順序時(shí),需要確定該任務(wù)與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,若是任務(wù)1,則模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;若是任務(wù)2,則模塊調(diào)用順序?yàn)槟K2、模塊1、模塊3、模塊4。

二、根據(jù)預(yù)設(shè)頁面,確定模塊調(diào)用順序。

具體的,根據(jù)預(yù)設(shè)的頁面與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定當(dāng)前需要處理的頁面對(duì)應(yīng)的模塊調(diào)用順序。

也就是說,可以根據(jù)需要對(duì)不同的頁面設(shè)定不同的模塊調(diào)用順序。

例如,假定A頁面的模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;而B頁面中,可能將模塊調(diào)用順序設(shè)定為模塊2、模塊1、模塊3、模塊4更加合理。因而,在確定模塊調(diào)用順序時(shí),需要確定該頁面與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,若是A頁面,則模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;若是B頁面,則模塊調(diào)用順序?yàn)槟K2、模塊1、模塊3、模塊4。

三、根據(jù)預(yù)設(shè)的任務(wù)和頁面,確定模塊調(diào)用順序。

也就是說,可以根據(jù)需要對(duì)不同的任務(wù)和頁面設(shè)定不同的模塊調(diào)用順序。

例如,假定A頁面中任務(wù)1的模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;而A頁面中任務(wù)2,可能將模塊調(diào)用順序設(shè)定為模塊2、模塊1、模塊3、模塊4更加合理。因而,在確定模塊調(diào)用順序時(shí),需要確定任務(wù)和頁面,與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,若是A頁面中任務(wù)1,則模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;若是A頁面中任務(wù)2,則模塊調(diào)用順序?yàn)槟K2、模塊1、模塊3、模塊4。

其中,確定模塊調(diào)用順序的方法不僅限于上述根據(jù)任務(wù)和/或頁面確定的方式,其它能夠確定模塊調(diào)用順序的方法也適用于本申請(qǐng)的方法。

可選的,為了提高頁面加載速度,可以在步驟101之前,將頁面中的各個(gè)模塊對(duì)應(yīng)的所有任務(wù)存儲(chǔ)到緩存區(qū)中;相應(yīng)的,步驟101中,根據(jù)緩存區(qū)中存儲(chǔ)的任務(wù),確定頁面中每個(gè)模塊的每個(gè)任務(wù)。

實(shí)施中,在瀏覽器打開后,加載模塊時(shí),將頁面中預(yù)先設(shè)定的各個(gè)模塊對(duì)應(yīng)的所有任務(wù)存儲(chǔ)到緩存區(qū)中,以便在執(zhí)行步驟101時(shí),能夠根據(jù)緩存區(qū)中存儲(chǔ)的任務(wù),確定頁面中每個(gè)模塊的每個(gè)任務(wù)。

例如,以上述圖2中4個(gè)模塊的A頁面為例,預(yù)設(shè)的A頁面包含4個(gè)模塊,模塊1、模塊2、模塊3、模塊4;其中,模塊1包含任務(wù)1、任務(wù)2、任務(wù)3;模塊2包含任務(wù)1、任務(wù)2;模塊3包含任務(wù)2;模塊4包含任務(wù)2、任務(wù)3。則在步驟101之前,需要將上述4個(gè)模塊和對(duì)應(yīng)的任務(wù)存儲(chǔ)到緩存區(qū)中,以便能夠根據(jù)緩存區(qū)中存儲(chǔ)的任務(wù),確定頁面中每個(gè)模塊的每個(gè)任務(wù)。

實(shí)施中,如果頁面中包含廣播事件,則可以根據(jù)設(shè)定任務(wù)處理順序,完成不同模塊之間的廣播事件的邏輯處理。

可選的,若頁面包括用于監(jiān)聽事件的監(jiān)聽模塊和用于廣播事件的廣播模塊,則監(jiān)聽模塊中監(jiān)聽任務(wù)的優(yōu)先級(jí),比廣播模塊中廣播任務(wù)的優(yōu)先級(jí)高。

若頁面中包含廣播事件,則頁面中會(huì)相應(yīng)的包含用于監(jiān)聽事件的監(jiān)聽模塊和用于廣播事件的廣播模塊,則無論監(jiān)聽模塊和廣播模塊的模塊調(diào)用順序如何,都需要將監(jiān)聽模塊中監(jiān)聽任務(wù)的優(yōu)先級(jí)設(shè)定為比廣播模塊中廣播任務(wù)的優(yōu)先級(jí)高,以便廣播模塊在執(zhí)行廣播任務(wù)之前,監(jiān)聽模塊已經(jīng)開始執(zhí)行監(jiān)聽任務(wù),能夠準(zhǔn)備監(jiān)聽到廣播模塊的發(fā)送的事件。

例如,若監(jiān)聽模塊中監(jiān)聽任務(wù)的為任務(wù)2,則廣播模塊中的廣播任務(wù)為任務(wù)2以后的任務(wù),如設(shè)定為任務(wù)3。

本申請(qǐng)實(shí)施例在實(shí)施時(shí),可以通過上述舉例中的order配置項(xiàng)和方法名來實(shí)現(xiàn),同時(shí)也可以用其它的方案實(shí)現(xiàn),只要是能夠?qū)崿F(xiàn)頁面模塊加載的方案,都是可以使用本申請(qǐng)實(shí)施例的方法。比如,order配置項(xiàng)不是一個(gè)方法名的數(shù)組而是一個(gè)map,內(nèi)容也可以不是方法名,而是標(biāo)識(shí)方法的正則表達(dá)式等;order配置的不是方法而是模塊,或者是匹配模塊標(biāo)識(shí)的正則表達(dá)式等。

本申請(qǐng)實(shí)施例上述各部分的執(zhí)行過程都在網(wǎng)站側(cè)實(shí)現(xiàn),但是具體執(zhí)行主體可以由一個(gè)服務(wù)器實(shí)現(xiàn),也可以將各功能分布在多個(gè)服務(wù)器實(shí)現(xiàn),只要是能夠 實(shí)現(xiàn)本申請(qǐng)實(shí)施例中的方法即可,并不限定具體的執(zhí)行主體的類型或者是結(jié)構(gòu)。

如圖3所示,為本申請(qǐng)實(shí)施例提供的加載頁面模塊的方法的整體流程示意圖,其中,假設(shè)根據(jù)預(yù)設(shè)的任務(wù)與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定模塊調(diào)用順序,則該整體流程包括:

步驟301、將頁面中的各個(gè)模塊對(duì)應(yīng)的所有任務(wù)存儲(chǔ)到緩存區(qū)中;

步驟302、根據(jù)緩存區(qū)中存儲(chǔ)的任務(wù),確定頁面中每個(gè)模塊的每個(gè)任務(wù);

步驟303、根據(jù)預(yù)設(shè)頁面與任務(wù)處理順序的對(duì)應(yīng)關(guān)系,確定頁面對(duì)應(yīng)的任務(wù)處理順序;

步驟304、根據(jù)確定的任務(wù)處理順序,確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù);

步驟305、根據(jù)預(yù)設(shè)的頁面與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定頁面對(duì)應(yīng)的模塊調(diào)用順序;

步驟306、按照確定的模塊調(diào)用順序,依次對(duì)模塊中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用;

步驟307、判斷所有任務(wù)中是否還有未處理的任務(wù),若是,則執(zhí)行步驟304,否則,確定頁面加載完成。

為了更加充分的說明本申請(qǐng)實(shí)施例中加載頁面模塊的方法,下面以瀏覽器加載頁面模塊為例,對(duì)上述方法的整體流程進(jìn)行詳細(xì)說明。如圖4所示,為本申請(qǐng)實(shí)施例提供的在瀏覽器中加載頁面模塊的整體流程示意圖。假定頁面包括1到N,N個(gè)模塊,每個(gè)模塊都對(duì)應(yīng)任務(wù)1、任務(wù)2和任務(wù)3三個(gè)任務(wù)。打開瀏覽器,開始準(zhǔn)備加載需要打開的頁面中的各個(gè)模塊,即加載模塊1、模塊2、模塊3、一直到模塊N,以及每個(gè)模塊對(duì)應(yīng)的任務(wù),其中N為正整數(shù);并將所有模塊以及對(duì)應(yīng)的所有任務(wù)都保存到該緩存區(qū)中;文件準(zhǔn)備就緒后,開始從緩存器中依次調(diào)用N個(gè)模塊中的任務(wù)1,并依次調(diào)用N個(gè)模塊中的任務(wù)2,以及依次調(diào)用N個(gè)模塊中的任務(wù)3,直到執(zhí)行完所有N個(gè)模塊中的所有任務(wù)。

基于同一發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例中還提供了一種加載頁面模塊的設(shè)備, 由于該設(shè)備解決問題的原理與本申請(qǐng)實(shí)施例加載頁面模塊的方法相似,因此該設(shè)備的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不再贅述。

如圖5所示,本申請(qǐng)實(shí)施例提供的加載頁面模塊的設(shè)備包括:第一確定模塊501、第二確定模塊502、處理模塊503。

第一確定模塊501,用于確定頁面中每個(gè)模塊的每個(gè)任務(wù),其中任務(wù)是加載模塊所對(duì)應(yīng)的操作;

第二確定模塊502,用于根據(jù)設(shè)定的任務(wù)處理順序,確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù);

處理模塊503,用于按照設(shè)定的模塊調(diào)用順序,依次對(duì)模塊中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用,并觸發(fā)第二確定模塊502執(zhí)行確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù)的步驟,直到調(diào)用完頁面中所有模塊的所有任務(wù)。

本申請(qǐng)實(shí)施例確定頁面中每個(gè)模塊的每個(gè)任務(wù),并根據(jù)設(shè)定的模塊調(diào)用順序,依次對(duì)頁面中各個(gè)模塊中的同一任務(wù)處理順序的任務(wù)進(jìn)行調(diào)用。由于能夠根據(jù)需要設(shè)定模塊調(diào)用順序和任務(wù)處理順序,從而在需要優(yōu)先執(zhí)行順序靠后的模塊或者任務(wù)時(shí),可以通過將該模塊中對(duì)應(yīng)任務(wù)的任務(wù)優(yōu)先級(jí)設(shè)定為較高的優(yōu)先級(jí)實(shí)現(xiàn),而無需在其它模塊對(duì)應(yīng)的程序中增加額外的延遲調(diào)用函數(shù),因而不會(huì)增加各個(gè)模塊之間的聯(lián)系,進(jìn)而使各個(gè)模塊之間的耦合性降低。

可選的,第二確定模塊502還用于,根據(jù)下列方式確定任務(wù)處理順序:

根據(jù)預(yù)設(shè)頁面與任務(wù)處理順序的對(duì)應(yīng)關(guān)系,確定頁面對(duì)應(yīng)的任務(wù)處理順序。

也就是說,第二確定模塊502可以根據(jù)需要對(duì)不同的頁面中的任務(wù)設(shè)定不同的任務(wù)處理順序,需要根據(jù)頁面與任務(wù)處理順序的對(duì)應(yīng)關(guān)系,確定當(dāng)前頁面對(duì)應(yīng)的任務(wù)處理順序。例如,假定A頁面的任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3;而B頁面中,可能將任務(wù)處理順序設(shè)定為任務(wù)2、任務(wù)1、任務(wù)3更加合理。因而,在確定任務(wù)處理順序時(shí),需要確定該頁面與任務(wù)處理順序的對(duì)應(yīng)關(guān)系,若是A頁面,則任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3;若是B頁面,則 任務(wù)處理順序?yàn)槿蝿?wù)2、任務(wù)1、任務(wù)3。

實(shí)施中,要確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù);還是以如圖2為例,且該頁面為A頁面,A頁面對(duì)應(yīng)的任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3。其中,假設(shè)模塊1包含任務(wù)1、任務(wù)2、任務(wù)3;模塊2包含任務(wù)1、任務(wù)2;模塊3包含任務(wù)2;模塊4包含任務(wù)2、任務(wù)3。因而,根據(jù)設(shè)定的任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3,確定出當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)1為當(dāng)前需要處理的任務(wù)。

針對(duì)模塊調(diào)用順序,除了上述可以預(yù)先設(shè)定某一頁面的模塊調(diào)用順序外,還可以根據(jù)不同的任務(wù)或者是頁面與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定當(dāng)前需要處理的任務(wù)對(duì)應(yīng)的模塊調(diào)用順序。

可選的,處理模塊503還用于,根據(jù)下列方式確定模塊調(diào)用順序:

根據(jù)預(yù)設(shè)的任務(wù)與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定當(dāng)前需要處理的任務(wù)對(duì)應(yīng)的模塊調(diào)用順序;和/或,根據(jù)預(yù)設(shè)頁面與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定頁面對(duì)應(yīng)的模塊調(diào)用順序。

本申請(qǐng)實(shí)施例中模塊調(diào)用順序可以依據(jù)頁面進(jìn)行設(shè)定,也可以依據(jù)任務(wù)進(jìn)行設(shè)定。

一、根據(jù)預(yù)設(shè)的任務(wù),確定模塊調(diào)用順序。

具體的,處理模塊503根據(jù)預(yù)設(shè)的任務(wù)與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定當(dāng)前需要處理的任務(wù)對(duì)應(yīng)的模塊調(diào)用順序。

也就是說,可以根據(jù)需要對(duì)不同的任務(wù)設(shè)定不同的模塊調(diào)用順序。

以上述圖2中4個(gè)模塊的A頁面為例,假定任務(wù)1的模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;而針對(duì)任務(wù)2,可能將模塊調(diào)用順序設(shè)定為模塊2、模塊1、模塊3、模塊4更加合理。因而,在確定模塊調(diào)用順序時(shí),需要確定該任務(wù)與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,若是任務(wù)1,則模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;若是任務(wù)2,則模塊調(diào)用順序?yàn)槟K2、模塊1、模塊3、模塊4。

二、根據(jù)預(yù)設(shè)頁面,確定模塊調(diào)用順序。

具體的,根據(jù)預(yù)設(shè)的頁面與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,確定當(dāng)前需要處理的頁面對(duì)應(yīng)的模塊調(diào)用順序。

也就是說,處理模塊503可以根據(jù)需要對(duì)不同的頁面設(shè)定不同的模塊調(diào)用順序。

例如,假定A頁面的模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;而B頁面中,可能將模塊調(diào)用順序設(shè)定為模塊2、模塊1、模塊3、模塊4更加合理。因而,在確定模塊調(diào)用順序時(shí),需要確定該頁面與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,若是A頁面,則模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;若是B頁面,則模塊調(diào)用順序?yàn)槟K2、模塊1、模塊3、模塊4。

三、根據(jù)預(yù)設(shè)的任務(wù)和頁面,確定模塊調(diào)用順序。

也就是說,處理模塊503可以根據(jù)需要對(duì)不同的任務(wù)和頁面設(shè)定不同的模塊調(diào)用順序。

例如,假定A頁面中任務(wù)1的模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;而A頁面中任務(wù)2,可能將模塊調(diào)用順序設(shè)定為模塊2、模塊1、模塊3、模塊4更加合理。因而,在確定模塊調(diào)用順序時(shí),需要確定任務(wù)和頁面,與模塊調(diào)用順序的對(duì)應(yīng)關(guān)系,若是A頁面中任務(wù)1,則模塊調(diào)用順序?yàn)槟K1、模塊2、模塊3、模塊4;若是A頁面中任務(wù)2,則模塊調(diào)用順序?yàn)槟K2、模塊1、模塊3、模塊4。

其中,確定模塊調(diào)用順序的方法不僅限于上述根據(jù)預(yù)設(shè)的任務(wù)和/或頁面來確定的方式,其它能夠確定模塊調(diào)用順序的方法也適用于本申請(qǐng)的方法。

可選的,第一確定模塊501還用于:

在確定頁面中每個(gè)模塊的每個(gè)任務(wù)之前,針對(duì)一個(gè)模塊,將該模塊對(duì)應(yīng)的需要同時(shí)執(zhí)行的操作作為該模塊的一個(gè)任務(wù)。

也就說是,本申請(qǐng)實(shí)施例中的每個(gè)模塊會(huì)對(duì)應(yīng)至少一個(gè)init方法。例如,假設(shè)某個(gè)模塊中包括需要渲染的廣告位,顯示綁定交互事件(比如圖片輪播事件, 以及在輸入框輸入內(nèi)容時(shí)自動(dòng)彈出下拉框?qū)崟r(shí)提示輸入內(nèi)容的事件等)、需要渲染的動(dòng)畫、以及渲染的音頻等多個(gè)操作。

假設(shè)需要將渲染的廣告位和需要渲染的動(dòng)畫同時(shí)執(zhí)行,需要將顯示綁定交互事件和需要渲染的音頻同時(shí)執(zhí)行,則將渲染廣告位所對(duì)應(yīng)的操作以及渲染動(dòng)畫所對(duì)應(yīng)的操作作為一個(gè)任務(wù),而將顯示綁定交互事件所對(duì)應(yīng)的操作以及渲染音頻所對(duì)應(yīng)的操作作為一個(gè)任務(wù)。

可選的,第一確定模塊501還用于:

在確定頁面中每個(gè)模塊的每個(gè)任務(wù)之前,將頁面中的各個(gè)模塊對(duì)應(yīng)的所有任務(wù)存儲(chǔ)到緩存區(qū)中;并根據(jù)緩存區(qū)中存儲(chǔ)的任務(wù),確定頁面中每個(gè)模塊的每個(gè)任務(wù)。

實(shí)施中,在瀏覽器打開后,加載模塊時(shí),將頁面中預(yù)先設(shè)定的各個(gè)模塊對(duì)應(yīng)的所有任務(wù)存儲(chǔ)到緩存區(qū)中,以便在執(zhí)行步驟101時(shí),能夠根據(jù)緩存區(qū)中存儲(chǔ)的任務(wù),確定頁面中每個(gè)模塊的每個(gè)任務(wù)。

例如,以上述圖2中4個(gè)模塊的A頁面為例,預(yù)設(shè)的A頁面包含4個(gè)模塊,模塊1、模塊2、模塊3、模塊4;其中,模塊1包含任務(wù)1、任務(wù)2、任務(wù)3;模塊2包含任務(wù)1、任務(wù)2;模塊3包含任務(wù)2;模塊4包含任務(wù)2、任務(wù)3。則在步驟101之前,需要將上述4個(gè)模塊和對(duì)應(yīng)的任務(wù)存儲(chǔ)到緩存區(qū)中,以便能夠根據(jù)緩存區(qū)中存儲(chǔ)的任務(wù),確定頁面中每個(gè)模塊的每個(gè)任務(wù)。

在確定出當(dāng)前需要處理的任務(wù)后,對(duì)當(dāng)前需要處理的任務(wù)進(jìn)行處理時(shí),需要剔除掉不包含當(dāng)前需要處理任務(wù)的模塊??蛇x的,處理模塊503還用于:

在確定當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)為當(dāng)前需要處理的任務(wù)之后,依次對(duì)模塊中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用之前,確定每個(gè)模塊的所有任務(wù)中包含當(dāng)前需要處理的任務(wù)的模塊;并依次對(duì)確定的模塊中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用。

也就是說,處理模塊503要確定出頁面的所有模塊中包含當(dāng)前需要處理的任務(wù)的模塊,剔除掉不包含當(dāng)前需要處理任務(wù)的模塊,依次對(duì)剩余模塊(即確 定的模塊)中的當(dāng)前需要處理的任務(wù)進(jìn)行調(diào)用。

接著以圖2中4個(gè)模塊的A頁面為例,假設(shè)模塊1包含任務(wù)1、任務(wù)2、任務(wù)3;模塊2包含任務(wù)1、任務(wù)2;模塊3包含任務(wù)2;模塊4包含任務(wù)2、任務(wù)3。因而,根據(jù)設(shè)定的任務(wù)處理順序?yàn)槿蝿?wù)1、任務(wù)2、任務(wù)3,確定出當(dāng)前未處理的優(yōu)先級(jí)最高的任務(wù)1為當(dāng)前需要處理的任務(wù)后,確定A頁面的4個(gè)模塊中包含當(dāng)前需要處理的任務(wù)1的模塊,即模塊1和模塊2,依次對(duì)模塊1和2中的當(dāng)前需要處理的任務(wù)1進(jìn)行調(diào)用。

若假設(shè)當(dāng)前需要處理的任務(wù)為任務(wù)2,則確定A頁面的4個(gè)模塊中包含當(dāng)前需要處理的任務(wù)2的模塊,即模塊1、模塊2、模塊3和模塊4,依次對(duì)模塊1、2、3和4中的當(dāng)前需要處理的任務(wù)2進(jìn)行調(diào)用。

可選的,若頁面包括用于監(jiān)聽事件的監(jiān)聽模塊和用于廣播事件的廣播模塊,則監(jiān)聽模塊中監(jiān)聽任務(wù)的優(yōu)先級(jí),比廣播模塊中廣播任務(wù)的優(yōu)先級(jí)高。

若頁面中包含廣播事件,則頁面中會(huì)相應(yīng)的包含用于監(jiān)聽事件的監(jiān)聽模塊和用于廣播事件的廣播模塊,則無論監(jiān)聽模塊和廣播模塊的模塊調(diào)用順序如何,都需要將監(jiān)聽模塊中監(jiān)聽任務(wù)的優(yōu)先級(jí)設(shè)定為比廣播模塊中廣播任務(wù)的優(yōu)先級(jí)高,以便廣播模塊在執(zhí)行廣播任務(wù)之前,監(jiān)聽模塊已經(jīng)開始執(zhí)行監(jiān)聽任務(wù),能夠準(zhǔn)備監(jiān)聽到廣播模塊的發(fā)送的事件。例如,若監(jiān)聽模塊中監(jiān)聽任務(wù)的為任務(wù)2,則廣播模塊中的廣播任務(wù)為任務(wù)2以后的任務(wù),如設(shè)定為任務(wù)3。

從上述內(nèi)容可以看出:本申請(qǐng)實(shí)施例確定頁面中每個(gè)模塊的每個(gè)任務(wù),并根據(jù)設(shè)定的模塊調(diào)用順序,依次對(duì)頁面中各個(gè)模塊中的同一任務(wù)處理順序的任務(wù)進(jìn)行調(diào)用。由于能夠根據(jù)需要設(shè)定模塊調(diào)用順序和任務(wù)處理順序,從而在需要優(yōu)先執(zhí)行順序靠后的模塊或者任務(wù)時(shí),可以通過將該模塊中對(duì)應(yīng)任務(wù)的任務(wù)優(yōu)先級(jí)設(shè)定為較高的優(yōu)先級(jí)實(shí)現(xiàn),而無需在其它模塊對(duì)應(yīng)的程序中增加額外的延遲調(diào)用函數(shù),因而不會(huì)增加各個(gè)模塊之間的聯(lián)系,進(jìn)而使各個(gè)模塊之間的耦合性降低。

以上參照示出根據(jù)本申請(qǐng)實(shí)施例的方法、裝置(系統(tǒng))和/或計(jì)算機(jī)程序產(chǎn) 品的框圖和/或流程圖描述本申請(qǐng)。應(yīng)理解,可以通過計(jì)算機(jī)程序指令來實(shí)現(xiàn)框圖和/或流程圖示圖的一個(gè)塊以及框圖和/或流程圖示圖的塊的組合??梢詫⑦@些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)的處理器和/或其它可編程數(shù)據(jù)處理裝置,以產(chǎn)生機(jī)器,使得經(jīng)由計(jì)算機(jī)處理器和/或其它可編程數(shù)據(jù)處理裝置執(zhí)行的指令創(chuàng)建用于實(shí)現(xiàn)框圖和/或流程圖塊中所指定的功能/動(dòng)作的方法。

相應(yīng)地,還可以用硬件和/或軟件(包括固件、駐留軟件、微碼等)來實(shí)施本申請(qǐng)。更進(jìn)一步地,本申請(qǐng)可以采取計(jì)算機(jī)可使用或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式,其具有在介質(zhì)中實(shí)現(xiàn)的計(jì)算機(jī)可使用或計(jì)算機(jī)可讀程序代碼,以由指令執(zhí)行系統(tǒng)來使用或結(jié)合指令執(zhí)行系統(tǒng)而使用。在本申請(qǐng)上下文中,計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是任意介質(zhì),其可以包含、存儲(chǔ)、通信、傳輸、或傳送程序,以由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用,或結(jié)合指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
吉首市| 兰溪市| 三河市| 青岛市| 肇东市| 绥宁县| 蓝田县| 靖安县| 文成县| 黑山县| 资兴市| 三台县| 许昌县| 温宿县| 甘泉县| 鹤岗市| 安康市| 苗栗县| 桐柏县| 娄烦县| 珲春市| 德清县| 阳信县| 阳曲县| 广河县| 曲阜市| 灵丘县| 中超| 额济纳旗| 修水县| 泰兴市| 赣榆县| 错那县| 繁昌县| 石棉县| 乐业县| 汶上县| 龙南县| 郓城县| 饶平县| 沙田区|