述當(dāng)前頁面和頁面切換方向確定所述應(yīng)用程序中的待展示頁面,將所述界面中展示的當(dāng)前頁面切換為所述待展示頁面,將所述應(yīng)用程序中從所述當(dāng)前頁面起沿所述頁面切換方向的第一個未加載頁面作為所述待加載頁面,觸發(fā)所述待加載頁面的資源加載。
[0058]需要說明的是,為實(shí)現(xiàn)對用戶所需瀏覽頁面進(jìn)行預(yù)測,并保證用戶瀏覽的連續(xù)性,本實(shí)施例中將所述應(yīng)用程序中從所述當(dāng)前頁面起沿所述頁面切換方向的第一個未加載頁面作為所述待加載頁面。
[0059]可理解的是,為避免流量的浪費(fèi),并且保證用戶的正常使用,需要在首次瀏覽場景應(yīng)用時,先加載初始頁面的所有資源。
[0060]所述初始頁面通常需要包括所述場景應(yīng)用的第I頁,另外還需要與場景應(yīng)用相鄰的至少I頁,由于用戶通常的瀏覽習(xí)慣均為從前向后瀏覽,故而,本實(shí)施例中將場景應(yīng)用的第1、2頁設(shè)置為初始頁面,當(dāng)然,還可將其他頁面也設(shè)置為初始頁面,例如:將第3頁也設(shè)置為初始頁面,或者,將最后I頁也設(shè)置為初始頁面,本實(shí)施例對此不加以限制。
[0061]由于本實(shí)施例中實(shí)現(xiàn)了用戶的按需加載,根據(jù)當(dāng)前頁面和頁面切換方向預(yù)測下一個將要瀏覽的頁面,加載該頁面的資源;用戶無需加載一些將來可能不瀏覽的頁面資源,同時各次只加載一個頁面的資源,減少了 http請求,有效縮短了場景應(yīng)用的加載時間,提高了用戶體驗(yàn)。
[0062]下面以初始頁面為第1、2頁為例來說明待加載頁面的確定,但并不限定本發(fā)明的保護(hù)范圍。
[0063]由于場景應(yīng)用由若干頁面組成,參照圖3,可將場景應(yīng)用視為一個列表,各行為一個頁面,各個頁面均具有很多資源。
[0064]當(dāng)用戶首次瀏覽場景應(yīng)用時,參照圖4,會自動加載初始頁面(即第1、2頁)的所有資源,若第1、2頁的所有資源未加載,則不可翻頁,此時當(dāng)前頁面為第I頁;
[0065]當(dāng)用戶需要從第I頁切換至第2頁時,獲取用戶在所述界面上的觸控操作,根據(jù)所述觸控操作確定頁面切換方向?yàn)檎?,參照圖5,從而確定所述待加載頁面為第3頁,觸發(fā)第3頁的資源加載,此時當(dāng)前頁面從第I頁切換至第2頁;
[0066]在第3頁的資源加載完畢后,當(dāng)用戶需要從第2頁切換至第3頁時,獲取用戶在所述界面上的觸控操作,根據(jù)所述觸控操作確定頁面切換方向?yàn)檎?,參照圖6,從而確定所述待加載頁面為第4頁,觸發(fā)第4頁的資源加載,此時當(dāng)前頁面從第2頁切換至第3頁;
[0067]依次類推,若當(dāng)前頁面在倒數(shù)第3頁時,當(dāng)用戶需要從倒數(shù)第3頁切換至倒數(shù)第2頁時,獲取用戶在所述界面上的觸控操作,根據(jù)所述觸控操作確定頁面切換方向?yàn)檎?,從而確定所述待加載頁面為最后I頁,觸發(fā)最后I頁的資源加載,此時當(dāng)前頁面從倒數(shù)第3頁切換至倒數(shù)第2頁;
[0068]在當(dāng)前頁面為第2頁時,用戶需要從第2頁切換至第I頁時,獲取用戶在所述界面上的觸控操作,根據(jù)所述觸控操作確定頁面切換方向?yàn)榉聪颍瑓⒄請D7,從而確定所述待加載頁面為最后I頁,觸發(fā)最后I頁的資源加載,此時當(dāng)前頁面從第2頁切換至第I頁;
[0069]在當(dāng)前頁面為第I頁,用戶需要從第I頁切換至最后I頁時,獲取用戶在所述界面上的觸控操作,根據(jù)所述觸控操作確定頁面切換方向?yàn)榉聪?,參照圖8,從而確定所述待加載頁面為倒數(shù)第2頁,觸發(fā)倒數(shù)第2頁的資源加載,此時當(dāng)前頁面從第I頁切換至最后I頁;
[0070]依次類推,若當(dāng)前頁面為最后I頁,當(dāng)用戶需要從最后I頁切換至倒數(shù)第2頁時,獲取用戶在所述界面上的觸控操作,根據(jù)所述觸控操作確定頁面切換方向?yàn)榉聪颍瑥亩_定所述待加載頁面為倒數(shù)第3頁,觸發(fā)倒數(shù)第3頁的資源加載,此時當(dāng)前頁面從最后I頁切換至倒數(shù)第2頁。
[0071]圖9是本發(fā)明一個實(shí)施例的一種基于移動終端的頁面資源加載方法的步驟流程圖;參照圖9,所述方法包括:
[0072]S901:在界面中展示應(yīng)用程序的當(dāng)前頁面時,獲取用戶在所述界面上的觸控操作,所述應(yīng)用程序由若干頁面組成;
[0073]S902:根據(jù)所述觸控操作確定所述應(yīng)用程序的頁面切換方向;
[0074]步驟S901?S902與圖1所示的實(shí)施例的步驟SlOl?S102相同,在此不再贅述。
[0075]S903:根據(jù)所述當(dāng)前頁面和頁面切換方向確定所述應(yīng)用程序中的待加載頁面,觸發(fā)所述待加載頁面的圖片加載,并觸發(fā)所述待加載頁面的背景圖像加載。
[0076]由于頁面的資源中圖片和背景圖像的文件較大,對頁面的資源加載速度其決定性的作用,故而本實(shí)施例中,所述頁面的資源為圖片和背景圖像。
[0077]為使加載應(yīng)用程序某一頁面時不要一次性加載所有頁面中的所有圖片和/或背景圖像,可采用多種方式,本實(shí)施例中,在編寫頁面HTML結(jié)構(gòu)時,將背景圖像和/或圖片的URL均放置于相應(yīng)的data-src屬性中,這樣在應(yīng)用程序中的某一頁面被加載時(比如瀏覽器加載頁面時)則不會一次性自動下載所有圖片和/或所有背景圖像,而是根據(jù)用戶當(dāng)前瀏覽的頁面先預(yù)觸發(fā)加載下頁或上一頁面對應(yīng)的圖片和/或背景圖片。
[0078]當(dāng)觸發(fā)待加載頁面的圖片加載,并觸發(fā)待加載頁面的背景圖像加載時,通過jquery中的回傳函數(shù)$( ‘ [data-src]’)選擇所述待加載頁面中所有圖片和背景圖像(可在data-src中通過bg = I來標(biāo)識背景圖像),再通過new Image ()創(chuàng)建圖片和背景圖像的對象,向所述待加載頁面的img標(biāo)簽中的src屬性寫入放置于data-src屬性中的圖片的URL,向所述待加載頁面的body標(biāo)簽中的background屬性寫入放置于data-src屬性中的背景圖像的URL,根據(jù)所述圖片的URL下載對應(yīng)的圖片,根據(jù)所述背景圖像的URL下載對應(yīng)的背景圖像,從而實(shí)現(xiàn)所述待加載頁面的圖片及背景圖像的加載;
[0079]當(dāng)然,還可采用其他方式來實(shí)現(xiàn),例如將背景圖像和圖片的URL均放置于其他屬性中,或者,將背景圖像和圖片的URL直接寫入js變量數(shù)組中,本實(shí)施例對此不加以限制。
[0080]對于方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作并不一定是本發(fā)明實(shí)施例所必須的。
[0081]圖10是本發(fā)明一個實(shí)施例的一種基于移動終端的頁面資源加載裝置的結(jié)構(gòu)框圖;參照圖10,所述裝置包括:
[0082]操作獲取器1001,適于在界面中展示應(yīng)用程序的當(dāng)前頁面時,獲取用戶在所述界面上的觸控操作,所述應(yīng)用程序由若干頁面組成;
[0083]方向確定器1002,適于根據(jù)所述觸控操作確定所述應(yīng)用程序的頁面切換方向;
[0084]加載觸發(fā)器1003,適于根據(jù)所述當(dāng)前頁面和頁面切換方向確定所述應(yīng)用程序中的待加載頁面,觸發(fā)所述待加載頁面的資源加載。
[0085]在本發(fā)明的一種可選實(shí)施例中,所述加載觸發(fā)器,還適于將所述應(yīng)用程序中從所述當(dāng)前頁面起沿所述頁面切換方向的第一個未加載頁面作為所述待加載頁面。
[0086]在本發(fā)明的一種可選實(shí)施例中,所述加載觸發(fā)器,還適于觸發(fā)所述待加載頁面的圖片加載,并觸發(fā)所述待加載頁面的背景圖像加載。
[0087]在本發(fā)明的一種可選實(shí)施例中,所述加載觸發(fā)器,還適于向所述待加載頁面的img標(biāo)簽中的src屬性寫入圖片的統(tǒng)一資源定位符URL,根據(jù)所述圖片的URL下載對應(yīng)的圖片,從而實(shí)現(xiàn)所述待加載頁面的圖片加載。
[0088]在本發(fā)明的一種可選實(shí)施例中,所述加載觸發(fā)器,還適于向所述待加載頁面的body標(biāo)簽中的background屬性寫入背景圖像的統(tǒng)一資源定位符URL,根據(jù)所述背景圖像的URL下載對應(yīng)的背景圖像,從而實(shí)現(xiàn)所述待加載頁面的背景圖像加載。
[0089]圖11是本發(fā)明一個實(shí)施例的一種基于移動終端的頁面資源加載裝置的結(jié)構(gòu)框圖;參照圖11,所述裝置包括:
[0090]操作獲取器1101,適于在界面中展示應(yīng)用程序的當(dāng)前頁面時,獲取用戶在所述界面上的觸控操作,所述應(yīng)用程序由若干頁面組成;
[0091]方向確定器1102,適于根據(jù)所述觸控操作確定所述應(yīng)用程序的頁面切換方向;
[0092]加載觸發(fā)器1103,適于根據(jù)所述當(dāng)前頁面和頁面切換方向確定所述應(yīng)用程序中的待加載頁面,觸發(fā)所述待加載頁面的資源加載。
[0093]頁面切換器1104,適于根據(jù)所述當(dāng)前頁面和頁面切換方向確定所述應(yīng)用程序中的待展示頁面,將所述界面中展示的當(dāng)前頁面切換為所述待展示頁面。
[0094]對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0095]應(yīng)當(dāng)注意的是,在本發(fā)明的裝置的各個部件中,根據(jù)其要實(shí)現(xiàn)的功能而對其中的部件進(jìn)行了邏輯劃分,但是,本發(fā)明不受限于此,可以根據(jù)需要對各個部件進(jìn)行重新劃分或者組合,例如,可以將一些部件組合為單個部件,或者可以將一些部件進(jìn)一步分解為更多的子部件。
[0096]本發(fā)明的各個部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域