一種網(wǎng)頁(yè)加載方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出一種網(wǎng)頁(yè)加載方法、裝置及系統(tǒng),該方法根據(jù)用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,獲取所述AJAX請(qǐng)求中攜帶的url對(duì)應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素;對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng);當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素時(shí),對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載,使服務(wù)器對(duì)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載,避免加載不必要的信息,從而進(jìn)一步減輕網(wǎng)頁(yè)加載過(guò)程中網(wǎng)絡(luò)的負(fù)荷。
【專利說(shuō)明】一種網(wǎng)頁(yè)加載方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)技術(shù),尤其涉及一種網(wǎng)頁(yè)加載方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)的網(wǎng)頁(yè)加載方法中,服務(wù)器為用戶端加載一個(gè)網(wǎng)頁(yè)后,服務(wù)器允許用戶端填寫表單以更新該網(wǎng)頁(yè)。當(dāng)用戶端通過(guò)提交表單向服務(wù)器發(fā)送網(wǎng)頁(yè)更新請(qǐng)求。服務(wù)器接收并處理用戶端發(fā)送的表單,然后向該用戶端返回一個(gè)新的網(wǎng)頁(yè),即重新加載網(wǎng)頁(yè)。但是,由于返回的新的網(wǎng)頁(yè)與之前加載的網(wǎng)頁(yè)中的大部分HTML代碼往往是相同的,使得服務(wù)器與用戶端之間傳送了許多重復(fù)內(nèi)容,導(dǎo)致增加了不必要的網(wǎng)絡(luò)負(fù)荷。
[0003]為了解決上述問(wèn)題,現(xiàn)有網(wǎng)頁(yè)加載方法中采用了異步JavaScript和XML(Asynchronous JavaScript and XML,簡(jiǎn)稱AJAX)技術(shù)。具體地,用戶端要更新某一網(wǎng)頁(yè)時(shí),向服務(wù)器發(fā)送AJAX請(qǐng)求,服務(wù)器接收到AJAX請(qǐng)求時(shí),僅向用戶端發(fā)送該網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)內(nèi)容,減輕了網(wǎng)絡(luò)負(fù)荷。
[0004]但是,現(xiàn)有技術(shù)無(wú)法進(jìn)一步減輕網(wǎng)絡(luò)負(fù)荷。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提出一種網(wǎng)頁(yè)加載方法、裝置及系統(tǒng),以進(jìn)一步減輕網(wǎng)頁(yè)加載過(guò)程中網(wǎng)絡(luò)的負(fù)荷。
[0006]為達(dá)此目的,本發(fā)明采用以下技術(shù)方案:
[0007]本發(fā)明提供一種網(wǎng)頁(yè)加載方法,包括:
[0008]根據(jù)用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,獲取所述AJAX請(qǐng)求中攜帶的url對(duì)應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素;
[0009]對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng);
[0010]當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素時(shí),將位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素發(fā)送給所述用戶端,以對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載。
[0011]本發(fā)明又提供一種網(wǎng)頁(yè)加載裝置,包括:
[0012]請(qǐng)求響應(yīng)單元,用于根據(jù)用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,獲取所述AJAX請(qǐng)求中攜帶的url對(duì)應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素;
[0013]瀏覽器監(jiān)聽(tīng)單元,用于對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng);
[0014]頁(yè)面加載單元,用于當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素時(shí),將位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素發(fā)送給所述用戶端,以對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載。
[0015]本發(fā)明還提供一種服務(wù)器,所述服務(wù)器中包括:上述網(wǎng)頁(yè)加載裝置。[0016]本發(fā)明還提供一種網(wǎng)頁(yè)加載系統(tǒng),包括:用戶端和上述服務(wù)器,所述用戶端用于發(fā)送攜帶有被加載過(guò)的url的AJAX請(qǐng)求,所述服務(wù)器用于根據(jù)所述用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,對(duì)所述用戶端的瀏覽器中的頁(yè)面進(jìn)行加載。
[0017]本發(fā)明提供的方法、裝置及系統(tǒng),通過(guò)獲取AJAX請(qǐng)求中攜帶的url對(duì)應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素并且對(duì)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng),使服務(wù)器對(duì)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載,避免加載不必要的信息,從而進(jìn)一步減輕了網(wǎng)頁(yè)加載過(guò)程中網(wǎng)絡(luò)的負(fù)荷。
【專利附圖】
【附圖說(shuō)明】
[0018]通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0019]圖1是本發(fā)明實(shí)施例提供的一種網(wǎng)頁(yè)加載方法的流程圖;
[0020]圖2是本發(fā)明實(shí)施例提供的網(wǎng)頁(yè)加載方法中網(wǎng)頁(yè)元素的一種位置示意圖;
[0021]圖3是本發(fā)明實(shí)施例提供的網(wǎng)頁(yè)加載方法中網(wǎng)頁(yè)元素的另一種位置示意圖;
[0022]圖4是本發(fā)明實(shí)施例提供的網(wǎng)頁(yè)加載方法中網(wǎng)頁(yè)元素的又一種位置示意圖;
[0023]圖5是本發(fā)明實(shí)施例提供的一種網(wǎng)頁(yè)加載裝置的結(jié)構(gòu)示意圖;
[0024]圖6是本發(fā)明實(shí)施例提供的一種網(wǎng)頁(yè)加載系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0025]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容。
[0026]圖1是本發(fā)明實(shí)施例提供的一種網(wǎng)頁(yè)加載方法的流程圖。本實(shí)施例所示的方法可通過(guò)服務(wù)器來(lái)實(shí)現(xiàn)。如圖1所示,網(wǎng)頁(yè)加載方法,可包括:
[0027]步驟11,根據(jù)用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,獲取所述AJAX請(qǐng)求中攜帶的url對(duì)應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素。
[0028]例如,當(dāng)用戶端的瀏覽器中已被加載過(guò)一個(gè)url對(duì)應(yīng)的網(wǎng)頁(yè),且該網(wǎng)頁(yè)是一個(gè)大頁(yè)面,即瀏覽器不能顯示出該網(wǎng)頁(yè)的全部?jī)?nèi)容,只能在瀏覽器的可見(jiàn)區(qū)域內(nèi)顯示一部分內(nèi)容時(shí),用戶可以通過(guò)控制瀏覽器的滾動(dòng)條上下滾動(dòng)來(lái)查看各部分的內(nèi)容。用戶在第一次訪問(wèn)該網(wǎng)頁(yè)時(shí),為了提高網(wǎng)頁(yè)的加載速度,服務(wù)器可能只為用戶端加載了瀏覽器可見(jiàn)區(qū)域內(nèi)的部分頁(yè)面而非加載全部頁(yè)面,此時(shí)用戶若需要更新該頁(yè)面時(shí)通常會(huì)發(fā)送AJAX請(qǐng)求,服務(wù)器收到該請(qǐng)求之后會(huì)獲取所述AJAX請(qǐng)求中攜應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素,例如該網(wǎng)頁(yè)是一個(gè)大型表格,用戶可能會(huì)填寫某些內(nèi)容并提交給服務(wù)器,以更新該表格的其他內(nèi)容,并且該表格中還有大部分內(nèi)容不會(huì)被更新,此過(guò)程用戶提交的更新請(qǐng)求是AJAX請(qǐng)求,那么服務(wù)器會(huì)獲取其中會(huì)被更新的內(nèi)容,而不會(huì)處理其中未被更新的內(nèi)容。
[0029]步驟12,對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng)。
[0030]例如,服務(wù)器會(huì)監(jiān)聽(tīng)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域,S卩服務(wù)器要獲知該用戶端的網(wǎng)頁(yè)瀏覽器當(dāng)前的可見(jiàn)區(qū)域范圍,為后續(xù)的處理步驟做準(zhǔn)備。
[0031]步驟13,當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素時(shí),將位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素發(fā)送給所述用戶端,以對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載。
[0032]這樣,當(dāng)服務(wù)器獲知了用戶端的網(wǎng)頁(yè)瀏覽器當(dāng)前的可見(jiàn)區(qū)域范圍,并且該可見(jiàn)區(qū)域內(nèi)的頁(yè)面內(nèi)容之前已經(jīng)被加載過(guò)時(shí),如果用戶又發(fā)來(lái)更新整個(gè)網(wǎng)頁(yè)中的網(wǎng)頁(yè)元素的請(qǐng)求時(shí),服務(wù)器則僅為用戶端更新其請(qǐng)求更新的并且在瀏覽器可見(jiàn)區(qū)域內(nèi)的網(wǎng)頁(yè)元素。
[0033]示例性的,當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分未被加載過(guò)時(shí),則結(jié)束。
[0034]如果服務(wù)器只為用戶端網(wǎng)頁(yè)瀏覽器加載過(guò)可見(jiàn)區(qū)域內(nèi)的內(nèi)容,可見(jiàn)區(qū)域以外的內(nèi)容從未被加載過(guò)時(shí),那么所有未在可見(jiàn)區(qū)域內(nèi)的網(wǎng)頁(yè)元素將不會(huì)被更新。例如用戶訪問(wèn)一個(gè)大型表格網(wǎng)頁(yè),首次訪問(wèn)時(shí),用戶端的瀏覽器只顯示了該表格的前半部分,并且用戶從未控制瀏覽器滾動(dòng)條觀看其他部分內(nèi)容,瀏覽器可見(jiàn)區(qū)域以外的內(nèi)容即從未被加載過(guò),然后用戶發(fā)送了 AJAX請(qǐng)求,請(qǐng)求更新某些網(wǎng)頁(yè)元素,這些網(wǎng)頁(yè)元素可能是該表格各個(gè)部分的內(nèi)容,其中某些內(nèi)容可能位于瀏覽器的可見(jiàn)區(qū)域以外,那么服務(wù)器將不對(duì)位于可見(jiàn)區(qū)域以外的網(wǎng)頁(yè)元素進(jìn)行更新,本方法可以用于處理某些帶有自動(dòng)更新功能的網(wǎng)頁(yè),避免網(wǎng)頁(yè)自動(dòng)更新時(shí)更新一些不必要的內(nèi)容。
[0035]示例性的,當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素時(shí),則為位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素設(shè)置標(biāo)志,所述標(biāo)志用于指示位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素不被加載。
[0036]如果服務(wù)器為用戶端網(wǎng)頁(yè)瀏覽器加載過(guò)可見(jiàn)區(qū)域內(nèi)的內(nèi)容,并且也加載過(guò)部分可見(jiàn)區(qū)域以外的內(nèi)容,默認(rèn)情況下服務(wù)器會(huì)對(duì)位于可見(jiàn)區(qū)域內(nèi)的網(wǎng)頁(yè)元素和已被加載過(guò)的位于可見(jiàn)區(qū)域以外的網(wǎng)頁(yè)元素進(jìn)行更新。本發(fā)明可以為位于可見(jiàn)區(qū)域以外的網(wǎng)頁(yè)元素設(shè)置一種標(biāo)志,服務(wù)器將不會(huì)為用戶端加載設(shè)有該標(biāo)志的網(wǎng)頁(yè)元素,本方法可以用于使服務(wù)器有選擇性地更新網(wǎng)頁(yè)元素,對(duì)于用戶瀏覽器可見(jiàn)區(qū)域以外的內(nèi)容,服務(wù)器可以強(qiáng)制不更新其中某些元素。
[0037]示例性的,對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng),包括:
[0038]監(jiān)聽(tīng)所述發(fā)生變化的網(wǎng)頁(yè)元素中是否存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素:
[0039]當(dāng)(KAiKC時(shí),第i個(gè)網(wǎng)頁(yè)元素在所述可見(jiàn)區(qū)域內(nèi);
[0040]當(dāng)Α「Β〈0或Ai_B>C時(shí),第i個(gè)網(wǎng)頁(yè)元素在所述可見(jiàn)區(qū)域外;
[0041]其中,Ai為所述發(fā)生變化的第i個(gè)網(wǎng)頁(yè)元素到所述url對(duì)應(yīng)的網(wǎng)頁(yè)的頂部的距離,B為所述url對(duì)應(yīng)的網(wǎng)頁(yè)的頂部與所述可見(jiàn)區(qū)域的頂部之間的距離,C為所述可見(jiàn)區(qū)域的高度。
[0042]例如,當(dāng)發(fā)生變化的網(wǎng)頁(yè)元素的位置如圖2所示,一個(gè)大型表格網(wǎng)頁(yè)21中一個(gè)需要更新的網(wǎng)頁(yè)元素25,即第i個(gè)網(wǎng)頁(yè)元素,該網(wǎng)頁(yè)元素距離表格頂部的距離26為5,即Ai=S ;此時(shí)用戶瀏覽器的可見(jiàn)區(qū)域22的頂部與該表格頂部的距離23為3,即B=3 ;此時(shí)用戶端瀏覽器的可見(jiàn)區(qū)域的高度24為3,即C=3 ;按照上述公式計(jì)算:0〈\3=2〈(:,該元素在用戶端瀏覽器的可見(jiàn)區(qū)域22內(nèi)。
[0043]當(dāng)發(fā)生變化的網(wǎng)頁(yè)元素的位置如圖3所示,一個(gè)大型表格網(wǎng)頁(yè)31,其中一個(gè)需要更新的網(wǎng)頁(yè)元素35,即第i個(gè)網(wǎng)頁(yè)元素,該網(wǎng)頁(yè)元素距離表格頂部的距離36為1,即Ai=I ;此時(shí)用戶瀏覽器的可見(jiàn)區(qū)域32的頂部與該表格頂部的距離33為3,即B=3 ;此時(shí)用戶端瀏覽器的可見(jiàn)區(qū)域的高度34為3,即C=3 ;按照上述公式計(jì)算=A1-B=KO,該元素在用戶端瀏覽器的可見(jiàn)區(qū)域32以外。
[0044]當(dāng)發(fā)生變化的網(wǎng)頁(yè)元素的位置如圖4所示,一個(gè)大型表格網(wǎng)頁(yè)41,其中一個(gè)需要更新的網(wǎng)頁(yè)元素45,即第i個(gè)網(wǎng)頁(yè)元素,該網(wǎng)頁(yè)元素距離表格頂部的距離46為8,即Ai=S ;此時(shí)用戶瀏覽器的可見(jiàn)區(qū)域42的頂部與該表格頂部的距離43為3,即B=3 ;此時(shí)用戶端瀏覽器的可見(jiàn)區(qū)域的高度34為3,即C=3 ;按照上述公式計(jì)算:A1-B=5>C,該元素在用戶端瀏覽器的可見(jiàn)區(qū)域32以外。
[0045]綜上所述,可知A1-B=O時(shí),是可見(jiàn)區(qū)域頂部的臨界位置,表示第i個(gè)網(wǎng)頁(yè)元素位于可見(jiàn)區(qū)域的頂部邊緣,當(dāng)AiKO時(shí),第i個(gè)網(wǎng)頁(yè)元素即不在可見(jiàn)區(qū)域之中而在該可見(jiàn)區(qū)域上方A-B=C時(shí),是可見(jiàn)區(qū)域底部臨界位置,表示第i個(gè)網(wǎng)頁(yè)元素位于可見(jiàn)區(qū)域的底部邊緣,當(dāng)A1-BX:時(shí),第i個(gè)網(wǎng)頁(yè)元素即不在可見(jiàn)區(qū)域之中而在該可見(jiàn)區(qū)域下方。通常情況下,用戶端的瀏覽器的可見(jiàn)區(qū)域頂部和底部還具有邊距,實(shí)際應(yīng)用中按照上述方法進(jìn)行計(jì)算時(shí),還應(yīng)考慮邊距的聞度。
[0046]本實(shí)施例提供的方法通過(guò)獲取AJAX請(qǐng)求中攜帶的url對(duì)應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素并且對(duì)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng),對(duì)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載,避免加載不必要的信息,從而進(jìn)一步減輕了網(wǎng)頁(yè)加載過(guò)程中網(wǎng)絡(luò)的負(fù)荷。
[0047]圖5是本發(fā)明實(shí)施例提供的一種網(wǎng)頁(yè)加載裝置的結(jié)構(gòu)示意圖。本實(shí)施例所示的裝置可為服務(wù)器用于實(shí)現(xiàn)圖1所示的方法。如圖5所示,網(wǎng)頁(yè)加載裝置51,包括:
[0048]請(qǐng)求響應(yīng)單元511,用于根據(jù)用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,獲取所述AJAX請(qǐng)求中攜帶的url對(duì)應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素;
[0049]瀏覽器監(jiān)聽(tīng)單元512,用于對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng);
[0050]頁(yè)面加載單元513,當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素時(shí),用于將位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素發(fā)送給所述用戶端,以對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載。
[0051]示例性的,所述頁(yè)面域加載單元513還用于當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分未被加載過(guò)時(shí),結(jié)束加載。
[0052]示例性的,所述網(wǎng)頁(yè)加載裝置51還包括:
[0053]標(biāo)志設(shè)置單元,用于當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素時(shí),為位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素設(shè)置標(biāo)志,所述標(biāo)志用于指示位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素不被加載。
[0054]示例性的,所述瀏覽器監(jiān)聽(tīng)單元512具體用于監(jiān)聽(tīng)所述發(fā)生變化的網(wǎng)頁(yè)元素中是否存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素:
[0055]當(dāng)(KAiKC時(shí),第i個(gè)網(wǎng)頁(yè)元素在所述可見(jiàn)區(qū)域內(nèi);
[0056]當(dāng)AiKO或Ai_B>C時(shí),第i個(gè)網(wǎng)頁(yè)元素在所述可見(jiàn)區(qū)域外;
[0057]其中,Ai為所述發(fā)生變化的第i個(gè)網(wǎng)頁(yè)元素到所述url對(duì)應(yīng)的網(wǎng)頁(yè)的頂部的距離,B為所述url對(duì)應(yīng)的網(wǎng)頁(yè)的頂部與所述可見(jiàn)區(qū)域的頂部之間的距離,C為所述可見(jiàn)區(qū)域的高度。
[0058]本發(fā)明實(shí)施例提供的網(wǎng)頁(yè)加載裝置,通過(guò)請(qǐng)求響應(yīng)單元獲取用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,并且通過(guò)瀏覽器監(jiān)聽(tīng)單元對(duì)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng),使頁(yè)面加載單元對(duì)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載,避免加載不必要的信息,從而進(jìn)一步減輕了網(wǎng)頁(yè)加載過(guò)程中網(wǎng)絡(luò)的負(fù)荷。
[0059]本發(fā)明實(shí)施例提供的服務(wù)器可包括上述裝置實(shí)施例提供的任一種網(wǎng)頁(yè)加載裝置,也即上述裝置實(shí)施例提供的任一種網(wǎng)頁(yè)加載裝置可設(shè)置于服務(wù)器中,任何具有上述任一種網(wǎng)頁(yè)加載裝置的服務(wù)器都可用于實(shí)現(xiàn)圖1所示的方法。
[0060]圖6是本發(fā)明實(shí)施例提供的一種網(wǎng)頁(yè)加載系統(tǒng)的結(jié)構(gòu)示意圖。本實(shí)施例所示的系統(tǒng)用于實(shí)現(xiàn)圖1所示的方法。如圖6所示,網(wǎng)頁(yè)加載系統(tǒng)包括:用戶端61和服務(wù)器62。月艮務(wù)器62可為上述任一種網(wǎng)頁(yè)加載裝置,也可為包括上述任一種網(wǎng)頁(yè)加載裝置的服務(wù)器。用戶端61用于發(fā)送攜帶有被加載過(guò)的url的AJAX請(qǐng)求,所述服務(wù)器62用于根據(jù)所述用戶端61發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,對(duì)所述用戶端61的瀏覽器中的頁(yè)面進(jìn)行加載。
[0061]本發(fā)實(shí)施例提供的網(wǎng)頁(yè)加載系統(tǒng),通過(guò)服務(wù)器獲取用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,并且通過(guò)服務(wù)器對(duì)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng),最終通過(guò)服務(wù)器對(duì)用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載,避免加載不必要的信息,從而進(jìn)一步減輕了網(wǎng)頁(yè)加載過(guò)程中網(wǎng)絡(luò)的負(fù)荷。
[0062]上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過(guò)以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說(shuō)明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。
【權(quán)利要求】
1.一種網(wǎng)頁(yè)加載方法,其特征在于,包括: 根據(jù)用戶端發(fā)送的攜帶有被加載過(guò)的統(tǒng)一資源定位符url的AJAX請(qǐng)求,獲取所述AJAX請(qǐng)求中攜帶的url對(duì)應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素; 對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng); 當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素時(shí),將位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素發(fā)送給所述用戶端,以對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分未被加載過(guò)時(shí),則結(jié)束加載。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于, 當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素時(shí),則為位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素設(shè)置標(biāo)志,所述標(biāo)志用于指示位于所述url對(duì)應(yīng)的網(wǎng)頁(yè) 在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素不被加載。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng),包括: 監(jiān)聽(tīng)所述發(fā)生變化的網(wǎng)頁(yè)元素中是否存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素: 當(dāng)OaiKC時(shí),第i個(gè)網(wǎng)頁(yè)元素在所述可見(jiàn)區(qū)域內(nèi); 當(dāng)AiKO或A1-BX:時(shí),第i個(gè)網(wǎng)頁(yè)元素在所述可見(jiàn)區(qū)域外; 其中,Ai為所述發(fā)生變化的第i個(gè)網(wǎng)頁(yè)元素到所述url對(duì)應(yīng)的網(wǎng)頁(yè)的頂部的距離,B為所述url對(duì)應(yīng)的網(wǎng)頁(yè)的頂部與所述可見(jiàn)區(qū)域的頂部之間的距離,C為所述可見(jiàn)區(qū)域的高度。
5.一種網(wǎng)頁(yè)加載裝置,其特征在于,包括: 請(qǐng)求響應(yīng)單元,用于根據(jù)用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,獲取所述AJAX請(qǐng)求中攜帶的url對(duì)應(yīng)的網(wǎng)頁(yè)中發(fā)生變化的網(wǎng)頁(yè)元素; 瀏覽器監(jiān)聽(tīng)單元,用于對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域進(jìn)行監(jiān)聽(tīng); 頁(yè)面加載單元,用于當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素時(shí),將位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素發(fā)送給所述用戶端,以對(duì)所述用戶端的網(wǎng)頁(yè)瀏覽器的可見(jiàn)區(qū)域中的網(wǎng)頁(yè)元素進(jìn)行重新加載。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于, 所述頁(yè)面域加載單元還用于當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分未被加載過(guò)時(shí),結(jié)束加載。
7.根據(jù)權(quán)利要求5或6所述的裝置,其特征在于,所述裝置還包括: 標(biāo)志設(shè)置單元,用于當(dāng)所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分已被加載過(guò),且所述發(fā)生變化的網(wǎng)頁(yè)元素中存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素時(shí),為位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素設(shè)置標(biāo)志,所述標(biāo)志用于指示位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域以外的部分的網(wǎng)頁(yè)元素不被加載。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述瀏覽器監(jiān)聽(tīng)單元具體用于監(jiān)聽(tīng)所述發(fā)生變化的網(wǎng)頁(yè)元素中是否存在位于所述url對(duì)應(yīng)的網(wǎng)頁(yè)在所述可見(jiàn)區(qū)域內(nèi)的部分的網(wǎng)頁(yè)元素: 當(dāng)OaiKC時(shí),第i個(gè)網(wǎng)頁(yè)元素在所述可見(jiàn)區(qū)域內(nèi); 當(dāng)AiKO或A1-BX:時(shí),第i個(gè)網(wǎng)頁(yè)元素在所述可見(jiàn)區(qū)域外; 其中,Ai為所述發(fā)生變化的第i個(gè)網(wǎng)頁(yè)元素到所述url對(duì)應(yīng)的網(wǎng)頁(yè)的頂部的距離,B為所述url對(duì)應(yīng)的網(wǎng)頁(yè)的頂部與所述可見(jiàn)區(qū)域的頂部之間的距離,C為所述可見(jiàn)區(qū)域的高度。
9. 一種服務(wù)器,其特征在于,所述服務(wù)器中包括:上述權(quán)利要求5-8所述的網(wǎng)頁(yè)加載裝置。
10.一種網(wǎng)頁(yè)加載系統(tǒng),其特征在于,包括:用戶端和上述權(quán)利要求9所述的服務(wù)器,所述用戶端用于發(fā)送攜帶有被加載過(guò)的url的AJAX請(qǐng)求,所述服務(wù)器用于根據(jù)所述用戶端發(fā)送的攜帶有被加載過(guò)的url的AJAX請(qǐng)求,對(duì)所述用戶端的瀏覽器中的頁(yè)面進(jìn)行加載。
【文檔編號(hào)】G06F9/445GK103577603SQ201310583018
【公開(kāi)日】2014年2月12日 申請(qǐng)日期:2013年11月19日 優(yōu)先權(quán)日:2013年11月19日
【發(fā)明者】宋小兵 申請(qǐng)人:北京京東尚科信息技術(shù)有限公司