本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種網(wǎng)頁(yè)加載方法及裝置。
背景技術(shù):
瀏覽器是指可以顯示網(wǎng)頁(yè)服務(wù)器或者文件系統(tǒng)的HTML(Hyper Text Markup Language,超文本標(biāo)記語(yǔ)言)文件內(nèi)容,并讓用戶與這些文件交互的一種軟件工具。隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,瀏覽器在日常生活、工作和學(xué)習(xí)中的應(yīng)用已經(jīng)越來(lái)越頻繁。
目前,瀏覽器加載解析網(wǎng)頁(yè)過(guò)程通常是通過(guò)并行的方式進(jìn)行的,即邊下載網(wǎng)頁(yè)內(nèi)容邊對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行渲染。在下載過(guò)程中,如果網(wǎng)頁(yè)數(shù)據(jù)中有JS(Javascript,一種區(qū)分大小寫的客戶端腳本語(yǔ)言)數(shù)據(jù)的話,并且如果JS較多的話,則網(wǎng)頁(yè)加載很慢,用戶體驗(yàn)不好。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種網(wǎng)頁(yè)加載方法及裝置。
本發(fā)明提供一種網(wǎng)頁(yè)加載方法,包括:
接收網(wǎng)頁(yè)加載請(qǐng)求;
響應(yīng)于接收到所述網(wǎng)頁(yè)加載請(qǐng)求,加載所述網(wǎng)頁(yè)加載請(qǐng)求對(duì)應(yīng)的目標(biāo)網(wǎng)頁(yè)中的文字和框架文件;
當(dāng)所述文字和框架文件加載完成后,對(duì)所述目標(biāo)網(wǎng)頁(yè)中的JS文件進(jìn)行加載。
在一個(gè)實(shí)施例中,所述方法還可包括:
判斷所述JS文件是否加載完成;
當(dāng)所述JS文件加載完成時(shí),將所述JS文件的狀態(tài)由第一狀態(tài)更改為第二狀態(tài)。
在一個(gè)實(shí)施例中,所述方法還可包括:
接收針對(duì)所述目標(biāo)網(wǎng)頁(yè)中按鈕的點(diǎn)擊操作;
響應(yīng)于接收到所述點(diǎn)擊操作,獲取所述按鈕涉及的JS文件的狀態(tài);
當(dāng)所述按鈕涉及的JS文件中至少一個(gè)JS文件的狀態(tài)為第一狀態(tài)時(shí),向用戶發(fā)出提示信息,所述提示信息用于提示用戶所述JS文件正在加載。
在一個(gè)實(shí)施例中,所述方法還可包括:
當(dāng)所述按鈕涉及的JS文件的狀態(tài)均為第二狀態(tài)時(shí),實(shí)現(xiàn)所述按鈕功能。
在一個(gè)實(shí)施例中,所述方法還可包括:
當(dāng)所述文字、框架文件加載完成后,加載所述目標(biāo)網(wǎng)頁(yè)中的第一類圖片;
當(dāng)所述目標(biāo)網(wǎng)頁(yè)的頁(yè)面滾動(dòng)時(shí),對(duì)所述目標(biāo)網(wǎng)頁(yè)中的第二類圖片進(jìn)行加載和更換。
本發(fā)明還提供一種網(wǎng)頁(yè)加載裝置,包括:
第一接收模塊,用于接收網(wǎng)頁(yè)加載請(qǐng)求;
第一加載模塊,用于響應(yīng)于接收到所述網(wǎng)頁(yè)加載請(qǐng)求,加載所述網(wǎng)頁(yè)加載請(qǐng)求對(duì)應(yīng)的目標(biāo)網(wǎng)頁(yè)中的文字和框架文件;
第二加載模塊,用于當(dāng)所述文字和框架文件加載完成后,對(duì)所述目標(biāo)網(wǎng)頁(yè)中的JS文件進(jìn)行加載。
在一個(gè)實(shí)施例中,所述裝置還可包括:
判斷模塊,用于判斷所述JS文件是否加載完成;
更改模塊,用于當(dāng)所述JS文件加載完成時(shí),將所述JS文件的狀態(tài)由第一狀態(tài)更改為第二狀態(tài)。
在一個(gè)實(shí)施例中,所述裝置還可包括:
第二接收模塊,用于接收針對(duì)所述目標(biāo)網(wǎng)頁(yè)中按鈕的點(diǎn)擊操作;
獲取模塊,用于響應(yīng)于接收到所述點(diǎn)擊操作,獲取所述按鈕涉及的JS文件的狀態(tài);
提示模塊,用于當(dāng)所述按鈕涉及的JS文件中至少一個(gè)JS文件的狀態(tài)為第一狀態(tài)時(shí),向用戶發(fā)出提示信息,所述提示信息用于提示用戶所述JS文件正在加載。
在一個(gè)實(shí)施例中,所述裝置還可包括:
執(zhí)行模塊,用于當(dāng)所述按鈕涉及的JS文件的狀態(tài)均為第二狀態(tài)時(shí),執(zhí)行所述按鈕功能。
在一個(gè)實(shí)施例中,所述裝置還可包括:
第三加載模塊,用于當(dāng)所述文字、框架文件加載完成后,加載所述目標(biāo)網(wǎng)頁(yè)中的第一類圖片;
第四加載模塊,用于當(dāng)所述目標(biāo)網(wǎng)頁(yè)的頁(yè)面滾動(dòng)時(shí),對(duì)所述目標(biāo)網(wǎng)頁(yè)中的第二類圖片進(jìn)行加載和更換。
本發(fā)明實(shí)施例的一些有益效果可以包括:
本發(fā)明實(shí)施例的上述技術(shù)方案,通過(guò)接收網(wǎng)頁(yè)加載請(qǐng)求,響應(yīng)于接收到網(wǎng)頁(yè)加載請(qǐng)求,加載網(wǎng)頁(yè)加載請(qǐng)求對(duì)應(yīng)的目標(biāo)網(wǎng)頁(yè)中的文字和框架文件,當(dāng)文字和框架文件加載完成后,對(duì)目標(biāo)網(wǎng)頁(yè)中的JS文件進(jìn)行加載。由于在加載網(wǎng)頁(yè)時(shí),先加載網(wǎng)頁(yè)中的文字、框架文件等基本結(jié)構(gòu),再加載JS文件,從而不會(huì)因JS文件過(guò)多而導(dǎo)致網(wǎng)頁(yè)加載變慢,從而提高了網(wǎng)頁(yè)加載速度,提升了用戶的使用體驗(yàn)。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見,或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1為本發(fā)明實(shí)施例中一種網(wǎng)頁(yè)加載方法的流程圖;
圖2為本發(fā)明實(shí)施例中另一種網(wǎng)頁(yè)加載方法的流程圖;
圖3為本發(fā)明實(shí)施例中另一種網(wǎng)頁(yè)加載方法的流程圖;
圖4為本發(fā)明實(shí)施例中另一種網(wǎng)頁(yè)加載方法的流程圖;
圖5為本發(fā)明實(shí)施例中另一種網(wǎng)頁(yè)加載方法的流程圖;
圖6為本發(fā)明實(shí)施例中一種網(wǎng)頁(yè)加載裝置的框圖;
圖7為本發(fā)明實(shí)施例中另一種網(wǎng)頁(yè)加載裝置的框圖;
圖8為本發(fā)明實(shí)施例中另一種網(wǎng)頁(yè)加載裝置的框圖。
圖9為本發(fā)明實(shí)施例中另一種網(wǎng)頁(yè)加載裝置的框圖。
圖10為本發(fā)明實(shí)施例中另一種網(wǎng)頁(yè)加載裝置的框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1所示為本發(fā)明實(shí)施例中一種網(wǎng)頁(yè)加載方法的流程圖,用于第一終端,第一終端可以是移動(dòng)終端或固定終端,本發(fā)明實(shí)施例不做限定。如圖1所示,包括以下步驟S11-S13:
步驟S11,接收網(wǎng)頁(yè)加載請(qǐng)求。
步驟S12,響應(yīng)于接收到網(wǎng)頁(yè)加載請(qǐng)求,加載網(wǎng)頁(yè)加載請(qǐng)求對(duì)應(yīng)的目標(biāo)網(wǎng)頁(yè)中的文字和框架文件。
步驟S13,當(dāng)文字和框架文件加載完成后,對(duì)目標(biāo)網(wǎng)頁(yè)中的JS文件進(jìn)行加載。
現(xiàn)有技術(shù)中,在加載網(wǎng)頁(yè)時(shí),如果界面中JS很多,則網(wǎng)頁(yè)加載很慢,本發(fā)明實(shí)施例的上述方法,通過(guò)接收網(wǎng)頁(yè)加載請(qǐng)求,響應(yīng)于接收到網(wǎng)頁(yè)加載請(qǐng)求,加載網(wǎng)頁(yè)加載請(qǐng)求對(duì)應(yīng)的目標(biāo)網(wǎng)頁(yè)中的文字和框架文件,當(dāng)文字和框架文件加載完成后,對(duì)目標(biāo)網(wǎng)頁(yè)中的JS文件進(jìn)行加載。由于在加載網(wǎng)頁(yè)時(shí),先加載網(wǎng)頁(yè)中的文字、框架文件等基本結(jié)構(gòu),再加載JS文件,從而不會(huì)因JS文件過(guò)多而導(dǎo)致網(wǎng)頁(yè)加載變慢,從而提高了網(wǎng)頁(yè)加載速度,提升了用戶的使用體驗(yàn)。
在一個(gè)實(shí)施例中,如圖2所示,該網(wǎng)頁(yè)加載方法還可包括以下步驟S14-S15:
步驟S14,判斷JS文件是否加載完成。
步驟S15,當(dāng)JS文件加載完成時(shí),將JS文件的狀態(tài)由第一狀態(tài)更改為第二狀態(tài)。
JS默認(rèn)狀態(tài)為第一狀態(tài)fault,當(dāng)加載完成時(shí)修改為第二狀態(tài)true。在一個(gè)實(shí)施例中,如圖3所示,該網(wǎng)頁(yè)加載方法還可包括以下步驟S16-S18:
步驟S16,接收針對(duì)目標(biāo)網(wǎng)頁(yè)中按鈕的點(diǎn)擊操作。
步驟S17,響應(yīng)于接收到點(diǎn)擊操作,獲取按鈕涉及的JS文件的狀態(tài)。
步驟S18,當(dāng)按鈕涉及的JS文件中至少一個(gè)JS文件的狀態(tài)為第一狀態(tài)時(shí),向用戶發(fā)出提示信息,提示信息用于提示用戶JS文件正在加載。
當(dāng)用戶點(diǎn)擊某個(gè)按鈕時(shí),檢查該按鈕的JS狀態(tài),如果JS狀態(tài)為fault,則向用戶發(fā)出提示信息,提示信息用于提示用戶JS文件正在加載或者提示用戶等候。
在一個(gè)實(shí)施例中,如圖4所示,該網(wǎng)頁(yè)加載方法還可包括以下步驟S19:
步驟S19,當(dāng)按鈕涉及的JS文件的狀態(tài)均為第二狀態(tài)時(shí),實(shí)現(xiàn)按鈕功能。
一個(gè)按鈕可能涉及多個(gè)JS,需要每個(gè)JS的狀態(tài)均為第二狀態(tài)true才能實(shí)現(xiàn)按鈕功能。
在一個(gè)實(shí)施例中,如圖5所示,該網(wǎng)頁(yè)加載方法還可包括以下步驟S20-S21:
步驟S20,當(dāng)文字、框架文件加載完成后,加載目標(biāo)網(wǎng)頁(yè)中的第一類圖片;
步驟S21,當(dāng)目標(biāo)網(wǎng)頁(yè)的頁(yè)面滾動(dòng)時(shí),對(duì)目標(biāo)網(wǎng)頁(yè)中的第二類圖片進(jìn)行加載和更換。
將網(wǎng)頁(yè)中的圖片進(jìn)行分類,劃分為第一類圖片和第二類圖片。第一類圖片為網(wǎng)站內(nèi)部的圖片即站內(nèi)圖片,第二類圖片為站外圖片。
在加載網(wǎng)頁(yè)時(shí),先加載網(wǎng)頁(yè)中的文字、框架文件和第一類圖片,當(dāng)目標(biāo)網(wǎng)頁(yè)的頁(yè)面滾動(dòng)時(shí),文字、框架文件和第一類圖片不用重新加載,僅對(duì)第二類圖片進(jìn)行加載和更換,從而提高了網(wǎng)頁(yè)加載速度,提升了用戶的使用體驗(yàn)。
基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供了一種網(wǎng)頁(yè)加載裝置,由于該裝置所解決問(wèn)題的原理與前述網(wǎng)頁(yè)加載方法相似,因此該裝置的實(shí)施可以參見前述方法的實(shí)施,重復(fù)之處不再贅述。
圖6所示為本發(fā)明實(shí)施例中一種網(wǎng)頁(yè)加載裝置的框圖,如圖6所示,該裝置包括:
第一接收模塊61,用于接收網(wǎng)頁(yè)加載請(qǐng)求;
第一加載模塊62,用于響應(yīng)于接收到網(wǎng)頁(yè)加載請(qǐng)求,加載網(wǎng)頁(yè)加載請(qǐng)求對(duì)應(yīng)的目標(biāo)網(wǎng)頁(yè)中的文字和框架文件;
第二加載模塊63,用于當(dāng)文字和框架文件加載完成后,對(duì)目標(biāo)網(wǎng)頁(yè)中的JS文件進(jìn)行加載。
在一個(gè)實(shí)施例中,如圖7所示,該網(wǎng)頁(yè)加載裝置還可包括:
判斷模塊64,用于判斷JS文件是否加載完成;
更改模塊65,用于當(dāng)JS文件加載完成時(shí),將JS文件的狀態(tài)由第一狀態(tài)更改為第二狀態(tài)。
在一個(gè)實(shí)施例中,如圖8所示,該網(wǎng)頁(yè)加載裝置還可包括:
第二接收模塊66,用于接收針對(duì)目標(biāo)網(wǎng)頁(yè)中按鈕的點(diǎn)擊操作;
獲取模塊67,用于響應(yīng)于接收到點(diǎn)擊操作,獲取按鈕涉及的JS文件的狀態(tài);
提示模塊68,用于當(dāng)按鈕涉及的JS文件中至少一個(gè)JS文件的狀態(tài)為第一狀態(tài)時(shí),向用戶發(fā)出提示信息,提示信息用于提示用戶JS文件正在加載。
在一個(gè)實(shí)施例中,如圖9所示,該網(wǎng)頁(yè)加載裝置還可包括:
執(zhí)行模塊69,用于當(dāng)按鈕涉及的JS文件的狀態(tài)均為第二狀態(tài)時(shí),執(zhí)行按鈕功能。
在一個(gè)實(shí)施例中,如圖10所示,該網(wǎng)頁(yè)加載裝置還可包括:
第三加載模塊70,用于當(dāng)文字、框架文件加載完成后,加載目標(biāo)網(wǎng)頁(yè)中的第一類圖片;
第四加載模塊71,用于當(dāng)目標(biāo)網(wǎng)頁(yè)的頁(yè)面滾動(dòng)時(shí),對(duì)目標(biāo)網(wǎng)頁(yè)中的第二類圖片進(jìn)行加載和更換。
本發(fā)明實(shí)施例的上述裝置,通過(guò)接收網(wǎng)頁(yè)加載請(qǐng)求,響應(yīng)于接收到網(wǎng)頁(yè)加載請(qǐng)求,加載網(wǎng)頁(yè)加載請(qǐng)求對(duì)應(yīng)的目標(biāo)網(wǎng)頁(yè)中的文字和框架文件,當(dāng)文字和框架文件加載完成后,對(duì)目標(biāo)網(wǎng)頁(yè)中的JS文件進(jìn)行加載。由于在加載網(wǎng)頁(yè)時(shí),先加載網(wǎng)頁(yè)中的文字、框架文件等基本結(jié)構(gòu),再加載JS文件,從而不會(huì)因JS文件過(guò)多而導(dǎo)致網(wǎng)頁(yè)加載變慢,從而提高了網(wǎng)頁(yè)加載速度,提升了用戶的使用體驗(yàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。