亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法及裝置的制作方法

文檔序號:6433687閱讀:217來源:國知局
專利名稱:WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及瀏覽器技術(shù)領(lǐng)域,尤其涉及一種WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法及
直ο
背景技術(shù)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)頁瀏覽器應(yīng)用范圍越來越廣泛,從最初運行在個人電腦上,到現(xiàn)在延伸到手機、掌上電腦、數(shù)字電視等各種嵌入式系統(tǒng)中?;跒g覽器開發(fā)的應(yīng)用越來越多,網(wǎng)頁內(nèi)容也越來越豐富。然而豐富復(fù)雜的網(wǎng)頁會導(dǎo)致瀏覽器加載時間延長,用戶需要花費更多時間等待頁面加載完成,這給用戶的使用帶來了很大的不便。特別對于嵌入式領(lǐng)域的瀏覽器應(yīng)用,由于硬件資源限制,如何快速加載頁面并呈現(xiàn)給用戶是瀏覽器開發(fā)者面臨的巨大挑戰(zhàn)。WebKit作為一個開源的網(wǎng)頁瀏覽器引擎,是當(dāng)今三大主力瀏覽器內(nèi)核之一,其具有速度快、高效穩(wěn)定、兼容性好以及應(yīng)用范圍廣泛等特點。請參閱圖1,目前WebKit網(wǎng)頁瀏覽器引擎加載網(wǎng)頁的基本方法是向服務(wù)器發(fā)出數(shù)據(jù)請求,接收服務(wù)器響應(yīng)數(shù)據(jù),根據(jù) HTML的語法語義解析數(shù)據(jù),同時生成文檔對象模型樹和渲染樹,完成布局,并通過渲染最終呈現(xiàn)給用戶。如前所述,在已知技術(shù)中,WebKit瀏覽器在解析數(shù)據(jù)構(gòu)建文檔對象模型樹時,會同時構(gòu)建渲染樹,即構(gòu)建一個文檔對象模型(D0M,DOCument Object Model)樹節(jié)點時,會根據(jù)元素可視性構(gòu)建對應(yīng)的渲染(Render)樹節(jié)點,這種方式需要占用網(wǎng)絡(luò)資源,導(dǎo)致網(wǎng)絡(luò)模塊下載數(shù)據(jù)緩慢,從而降低WebKit瀏覽器網(wǎng)頁內(nèi)容的加載速度,嚴重影響用戶瀏覽網(wǎng)頁的使用體驗。

發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是提供一種WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法及裝置,能夠使WebKit瀏覽器更快速地處理下載網(wǎng)頁內(nèi)容,從而減少瀏覽器加載網(wǎng)頁的總體時間。為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是提供一種WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法,包括以下步驟通過WebKit瀏覽器的網(wǎng)絡(luò)模塊下載網(wǎng)頁內(nèi)容數(shù)據(jù);解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)得到解析結(jié)果;根據(jù)所述解析結(jié)果構(gòu)建文檔對象模型樹節(jié)點,并繼續(xù)進行所述下載網(wǎng)頁內(nèi)容數(shù)據(jù)的步驟,以及所述解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)、構(gòu)建文檔對象模型樹節(jié)點的步驟,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成;根據(jù)所述文檔對象模型樹節(jié)點創(chuàng)建文檔對象模型樹;根據(jù)所述文檔對象模型樹生成相應(yīng)的渲染樹;根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局(Web Layout),根據(jù)所述渲染樹進行渲染,得到渲染對象;根據(jù)所述網(wǎng)頁內(nèi)容的頁面布局和所述渲染對象顯示網(wǎng)頁。其中,所述根據(jù)渲染樹進行網(wǎng)頁內(nèi)容的頁面布局的動作包括根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局,并在布局處理期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則繼續(xù)所述解析網(wǎng)頁內(nèi)容數(shù)據(jù)、構(gòu)建文檔對象模型樹節(jié)點以及直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成的步驟。其中,所述在布局處理期間向網(wǎng)絡(luò)模塊發(fā)起詢問、檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的動作包括在每完成一個布局時,向所述網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)。其中,所述根據(jù)渲染樹進行網(wǎng)頁內(nèi)容的頁面布局的動作包括根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局,并在布局處理期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則繼續(xù)執(zhí)行下一個網(wǎng)頁內(nèi)容的頁面布局處理的動作。其中,所述在布局處理期間向網(wǎng)絡(luò)模塊發(fā)起詢問、檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的動作包括在每完成一個布局時,向所述網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)。其中,所述根據(jù)渲染樹進行渲染、得到渲染對象的動作包括根據(jù)所述渲染樹進行渲染、得到渲染對象,并在渲染期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則繼續(xù)所述解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)、構(gòu)建文檔對象模型樹節(jié)點以及直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成的步驟。其中,所述在渲染期間發(fā)起詢問、檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的動作包括在每完成一個對象的渲染時,向所述網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)。其中,所述根據(jù)渲染樹進行渲染、得到渲染對象的動作包括根據(jù)所述渲染樹進行渲染、得到渲染對象,并在渲染期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則繼續(xù)執(zhí)行下一個對象的渲染處理的動作。其中,所述在渲染期間發(fā)起詢問、檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的步驟包括在每完成一個對象的渲染時,向所述網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)。其中,所述下載網(wǎng)頁內(nèi)容數(shù)據(jù)的步驟包括向服務(wù)器發(fā)送下載網(wǎng)頁內(nèi)容數(shù)據(jù)的請求;接收所述服務(wù)器響應(yīng)所述請求而返回的網(wǎng)頁內(nèi)容數(shù)據(jù)。為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是提供一種WebKit瀏覽器裝置,包括網(wǎng)絡(luò)模塊,用于使WebKit瀏覽器客戶端與服務(wù)器進行網(wǎng)絡(luò)數(shù)據(jù)通訊;下載模塊, 用于通過所述網(wǎng)絡(luò)模塊下載網(wǎng)頁內(nèi)容數(shù)據(jù);解析模塊,用于解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)得到解析結(jié)果;第一創(chuàng)建模塊,用于根據(jù)所述解析結(jié)果構(gòu)建文檔對象模型樹節(jié)點,并使下載模塊繼續(xù)進行下載網(wǎng)頁內(nèi)容數(shù)據(jù)、使解析模塊解析網(wǎng)頁內(nèi)容數(shù)據(jù),第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成;第二創(chuàng)建模塊, 用于根據(jù)所述文檔對象模型樹節(jié)點創(chuàng)建文檔對象模型樹;第三創(chuàng)建模塊,用于根據(jù)所述文檔對象模型樹生成相應(yīng)的渲染樹;布局模塊,用于根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局;渲染模塊,用于根據(jù)所述渲染樹進行渲染,得到渲染對象;顯示模塊,用于根據(jù)所述網(wǎng)頁內(nèi)容的頁面布局和所述渲染對象顯示網(wǎng)頁。其中,所述裝置包括第一詢問模塊,所述第一詢問模塊用于在網(wǎng)頁內(nèi)容的頁面布局期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。其中,所述第一詢問模塊具體用于在每完成一個布局時,向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。其中,所述裝置包括第一詢問模塊,所述第一詢問模塊用于在網(wǎng)頁內(nèi)容的頁面布局期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則使布局模塊進行下一個網(wǎng)頁內(nèi)容的頁面布局處理。其中,所述第一詢問模塊具體用于在每完成一個布局時,向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則使布局模塊進行下一個網(wǎng)頁內(nèi)容的頁面
布局處理。其中,所述裝置包括第二詢問模塊,所述第二詢問模塊用于在進行渲染、得到渲染對象的期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。其中,所述第二詢問模塊具體用于在每完成一個對象的渲染時,向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。其中,所述裝置包括第二詢問模塊,所述第二詢問模塊用于在進行渲染、得到渲染對象的期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則使渲染模塊進行下一個對象的渲染處理。其中,所述第二詢問模塊具體用于在每完成一個對象的渲染時,向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則使渲染模塊繼續(xù)進行下一個對象的渲染處理。其中,所述下載模塊包括下載請求單元和數(shù)據(jù)接收單元;所述下載請求單元用于通過網(wǎng)絡(luò)模塊向服務(wù)器發(fā)起下載網(wǎng)頁內(nèi)容數(shù)據(jù)的請求;所述數(shù)據(jù)接收單元用于接收服務(wù)器響應(yīng)所述請求而返回的網(wǎng)頁內(nèi)容數(shù)據(jù)。本發(fā)明的有益效果是區(qū)別于現(xiàn)有技術(shù)WebKit瀏覽器在解析數(shù)據(jù)構(gòu)建文檔對象模型樹時、會同時構(gòu)建渲染樹而一直占用網(wǎng)絡(luò)模塊資源、導(dǎo)致加載復(fù)雜網(wǎng)頁內(nèi)容時過程緩慢的情況,本發(fā)明在WebKit瀏覽器生成渲染樹的步驟中,待文檔對象模型樹創(chuàng)建完成后才創(chuàng)建渲染樹,把創(chuàng)建渲染樹的過程獨立出來并使其不再占用網(wǎng)絡(luò)資源,在加載復(fù)雜網(wǎng)頁內(nèi)容時,能夠減少網(wǎng)頁加載的總體時間,提高加載網(wǎng)頁內(nèi)容的速度,增強用戶瀏覽網(wǎng)頁的使用體驗。


圖1是一種現(xiàn)有技術(shù)中瀏覽器創(chuàng)建文檔對象模型樹和渲染樹的流程圖;圖2是本發(fā)明WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法實施例的流程圖;圖3是本發(fā)明WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法實施例中創(chuàng)建文檔對象模型樹和渲染樹的流程圖;圖4是本發(fā)明WebKit瀏覽器裝置第一實施例的結(jié)構(gòu)示意圖;圖5是本發(fā)明WebKit瀏覽器裝置第二實施例的結(jié)構(gòu)示意圖;圖6是本發(fā)明WebKit瀏覽器裝置第三實施例的結(jié)構(gòu)示意圖;圖7是本發(fā)明WebKit瀏覽器裝置第二實施例中在布局過程中提前詢問網(wǎng)絡(luò)模塊的示意圖;圖8是本發(fā)明WebKit瀏覽器裝置第三實施例中在渲染過程中提前詢問網(wǎng)絡(luò)模塊的示意圖。
具體實施例方式下面結(jié)合附圖和實施例對本發(fā)明進行詳細說明。請參閱圖2,本發(fā)明WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法實施例包括步驟101 通過WebKit瀏覽器的網(wǎng)絡(luò)模塊下載網(wǎng)頁內(nèi)容數(shù)據(jù)。在WebKit瀏覽器運行中,當(dāng)加載一個頁面時,瀏覽器客戶端通過網(wǎng)絡(luò)模塊向服務(wù)器發(fā)起請求,服務(wù)器接受請求,響應(yīng)所述請求并處理數(shù)據(jù),返回網(wǎng)頁內(nèi)容數(shù)據(jù)到客戶端。步驟102 解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)得到解析結(jié)果。在WebKit瀏覽器運行時,通過網(wǎng)絡(luò)模塊接收到返回的網(wǎng)頁內(nèi)容數(shù)據(jù)后,通過回調(diào)函數(shù)把網(wǎng)頁內(nèi)容數(shù)據(jù)傳遞到解析模塊,解析模塊對接收到的這批網(wǎng)頁內(nèi)容數(shù)據(jù)進行解析, 得到解析結(jié)果。步驟103 根據(jù)所述解析結(jié)果構(gòu)建文檔對象模型樹節(jié)點,并繼續(xù)進行所述下載網(wǎng)頁內(nèi)容數(shù)據(jù)的步驟,以及所述解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)、構(gòu)建文檔對象模型樹節(jié)點的步驟,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。在WebKit瀏覽器運行中、解析模塊根據(jù)解析結(jié)果構(gòu)建文檔對象模型樹節(jié)點時,網(wǎng)絡(luò)模塊等待解析模塊完成對這批數(shù)據(jù)的解析后,才繼續(xù)接收下一批數(shù)據(jù)。步驟104 根據(jù)所述文檔對象模型樹節(jié)點創(chuàng)建文檔對象模型樹。步驟105 根據(jù)所述文檔對象模型樹生成相應(yīng)的渲染樹;在本步驟中,將渲染樹的創(chuàng)建從解析模塊中分離出來,待文檔對象模型樹創(chuàng)建完成,才根據(jù)創(chuàng)建的文檔對象模型樹創(chuàng)建相應(yīng)的渲染樹。步驟106 根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局,根據(jù)所述渲染樹進行渲染, 得到渲染對象。在現(xiàn)有技術(shù)的WebKit瀏覽器中,網(wǎng)頁解析完成后,在渲染之前需要完成網(wǎng)頁內(nèi)容的布局。在處理布局時,由于網(wǎng)頁內(nèi)容很多,因此往往需要很長時間。這樣會使網(wǎng)絡(luò)模塊中已經(jīng)到達的數(shù)據(jù)無法及時得到處理,從而影響網(wǎng)絡(luò)模塊的后續(xù)工作。同樣地,在WebKit瀏覽器中,渲染模塊由于涉及到圖形處理,需要的時間最長。一般而言,網(wǎng)頁越復(fù)雜,內(nèi)容越豐富,渲染需要處理的元素會越多,瀏覽器運行時,在把網(wǎng)頁呈現(xiàn)出來之前,需要花費大量時間渲染。這樣可能會讓網(wǎng)絡(luò)模塊的數(shù)據(jù)在渲染階段無法得到及時響應(yīng),從而影響網(wǎng)絡(luò)模塊的后續(xù)工作。本發(fā)明的實施例中,將解析模塊獨立出來,在解析所述網(wǎng)頁內(nèi)容數(shù)據(jù),構(gòu)建文檔對象模型樹節(jié)點時并不占用網(wǎng)絡(luò)資源,從而使得網(wǎng)絡(luò)模塊能夠更快地得到響應(yīng),使得瀏覽器能夠更快速地加載網(wǎng)頁內(nèi)容。步驟107 根據(jù)所述網(wǎng)頁內(nèi)容的頁面布局和所述渲染對象顯示網(wǎng)頁。在WebKit瀏覽器運行中,待頁面布局和渲染對象完成,則根據(jù)所述網(wǎng)頁內(nèi)容的頁面布局和渲染對象顯示網(wǎng)頁。下面對比現(xiàn)有技術(shù)與本發(fā)明實施例在方法上的區(qū)別在現(xiàn)有技術(shù)中(如圖1所示),解析模塊根據(jù)解析網(wǎng)頁內(nèi)容數(shù)據(jù)的結(jié)果,構(gòu)建文檔對象模型樹節(jié)點,并在每生成一個文檔對象模型節(jié)點時,會根據(jù)需要生成相應(yīng)的渲染樹節(jié)點,同時會涉及生成或調(diào)整對應(yīng)的CSS數(shù)據(jù)。而本發(fā)明實施例的瀏覽器創(chuàng)建文檔對象模型樹和渲染樹流程中(如圖3所示), WebKit瀏覽器在解析網(wǎng)頁內(nèi)容數(shù)據(jù)構(gòu)建文檔對象模型樹時,不同時構(gòu)建渲染樹節(jié)點,這種待文檔對象模型樹創(chuàng)建完成后才創(chuàng)建渲染樹的方式,是把創(chuàng)建渲染樹的過程獨立出來并使其不再占用網(wǎng)絡(luò)模塊的資源,使得在加載復(fù)雜網(wǎng)頁內(nèi)容時,能夠減少網(wǎng)頁加載的總體時間, 提高加載網(wǎng)頁內(nèi)容的速度,增強用戶瀏覽網(wǎng)頁的使用體驗。下面再具體說明實施這種分離構(gòu)建渲染樹的方法的可行性與優(yōu)勢1)文檔對象模型樹是瀏覽器表示網(wǎng)頁的一種描述模型,它包含的信息足夠以后構(gòu)建渲染樹,因此只要文檔對象模型樹創(chuàng)建完成,渲染樹的構(gòu)建可以分離出去單獨處理。2)渲染樹的構(gòu)建分離出去單獨處理,能夠減少解析模塊的復(fù)雜度,同時也減少解析模塊的運行時間,從而能更快速進行解析網(wǎng)頁內(nèi)容數(shù)據(jù)、構(gòu)建文檔對象模型樹節(jié)點的操作,提高加載網(wǎng)頁內(nèi)容的速度。3)網(wǎng)絡(luò)模塊數(shù)據(jù)處理回調(diào)函數(shù)時間減少,能夠提高響應(yīng)其它網(wǎng)絡(luò)資源下載的速度。請參閱圖4,本發(fā)明WebKit瀏覽器裝置第一實施例,包括網(wǎng)絡(luò)模塊201 用于使WebKit瀏覽器客戶端與服務(wù)器進行網(wǎng)絡(luò)數(shù)據(jù)通訊;下載模塊202 用于通過所述網(wǎng)絡(luò)模塊下載網(wǎng)頁內(nèi)容數(shù)據(jù);解析模塊203 用于解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)得到解析結(jié)果;第一創(chuàng)建模塊204 用于根據(jù)所述解析結(jié)果構(gòu)建文檔對象模型樹節(jié)點,并使下載模塊繼續(xù)進行下載網(wǎng)頁內(nèi)容數(shù)據(jù)、使解析模塊解析網(wǎng)頁內(nèi)容數(shù)據(jù),第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成;第二創(chuàng)建模塊205 用于根據(jù)所述文檔對象模型樹節(jié)點創(chuàng)建文檔對象模型樹;第三創(chuàng)建模塊206 用于根據(jù)所述文檔對象模型樹生成相應(yīng)的渲染樹;布局模塊207 用于根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局;渲染模塊208 用于根據(jù)所述渲染樹進行渲染,得到渲染對象;顯示模塊209 用于根據(jù)所述網(wǎng)頁內(nèi)容的頁面布局和渲染對象顯示網(wǎng)頁。以上可以了解,區(qū)別于現(xiàn)有技術(shù)WebKit瀏覽器在解析數(shù)據(jù)構(gòu)建文檔對象模型樹時、會同時構(gòu)建渲染樹而一直占用網(wǎng)絡(luò)模塊資源、導(dǎo)致加載復(fù)雜網(wǎng)頁內(nèi)容時過程緩慢的情況,本發(fā)明在生成渲染樹的步驟中,待文檔對象模型樹創(chuàng)建完成后才創(chuàng)建渲染樹,把創(chuàng)建渲染樹的過程獨立出來并使其不再占用網(wǎng)絡(luò)資源,在加載復(fù)雜網(wǎng)頁內(nèi)容時,能夠減少網(wǎng)頁加載的總體時間,提高加載網(wǎng)頁內(nèi)容的速度,增強用戶瀏覽網(wǎng)頁的使用體驗。在上述實施例中,下載模塊202包括下載請求單元和數(shù)據(jù)接收單元,下載請求單元用于通過網(wǎng)絡(luò)模塊向服務(wù)器發(fā)起下載網(wǎng)頁內(nèi)容數(shù)據(jù)的請求;數(shù)據(jù)接收單元用于接收服務(wù)器響應(yīng)所述請求而返回的網(wǎng)頁內(nèi)容數(shù)據(jù)。請參閱圖5,在本發(fā)明WebKit瀏覽器裝置第二實施例中,WebKit瀏覽器網(wǎng)頁內(nèi)容加載裝置還包括第一詢問模塊210,所述第一詢問模塊210用于在網(wǎng)頁內(nèi)容的頁面布局期間向網(wǎng)絡(luò)模塊201發(fā)起詢問,檢查網(wǎng)絡(luò)模塊201是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊203繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊204繼續(xù)構(gòu)建文檔對象模型樹節(jié)點直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成;若否,則使布局模塊207進行下一個網(wǎng)頁內(nèi)容的頁面布局處理。請參閱圖6,在本發(fā)明WebKit瀏覽器裝置第三實施例中,所述裝置還包括第二詢問模塊211,所述第二詢問模塊211用于在進行渲染、得到渲染對象的期間向網(wǎng)絡(luò)模塊201 發(fā)起詢問,檢查網(wǎng)絡(luò)模塊201是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊203繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊204繼續(xù)構(gòu)建文檔對象模型樹節(jié)點直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成;若否,則使渲染模塊進行下一個對象的渲染處理。請參閱圖7,圖7是本發(fā)明WebKit瀏覽器裝置第二實施例在布局過程中提前詢問網(wǎng)絡(luò)模塊的示意圖。本發(fā)明進一步地在布局中,增加詢問網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的功能設(shè)計,若是則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。當(dāng)然,也可以在每完成一個布局時,向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成;若否,則使布局模塊進行下一個網(wǎng)頁內(nèi)容的頁面布局處理。請參閱圖8,圖8是本發(fā)明WebKit瀏覽器裝置第三實施例在渲染過程中提前詢問網(wǎng)絡(luò)模塊的示意圖。在該實施例中,本發(fā)明進一步地在布局中,增加詢問網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的功能設(shè)計,若是則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。當(dāng)然,也可以在每完成一個渲染對象時,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù); 若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成;若否,則使渲染模塊進行下一個對象的渲染處理。本發(fā)明提供的方法和裝置,能夠減少網(wǎng)絡(luò)模塊因為已經(jīng)收到的數(shù)據(jù)處理沒能及時處理而引起的等待時間。使網(wǎng)絡(luò)模塊具有更快的響應(yīng),使瀏覽器能夠更快速地運行,優(yōu)化瀏覽器加載網(wǎng)頁資源的總體時間。極大地提高網(wǎng)絡(luò)模塊的工作效率,減少因為得不到及時處理而造成的延遲。進一步地,本發(fā)明能夠提高網(wǎng)絡(luò)模塊的工作效率,從而提高從服務(wù)器獲取網(wǎng)絡(luò)資源的速度,使得瀏覽器其它模塊能夠獲取更快處理數(shù)據(jù)的機會,從而使得基于 WebKit引擎的瀏覽器加載網(wǎng)頁資源速度更快。以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
權(quán)利要求
1.一種WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法,其特征在于,包括以下步驟通過WebKit瀏覽器的網(wǎng)絡(luò)模塊下載網(wǎng)頁內(nèi)容數(shù)據(jù);解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)得到解析結(jié)果;根據(jù)所述解析結(jié)果構(gòu)建文檔對象模型樹節(jié)點,并繼續(xù)進行所述下載網(wǎng)頁內(nèi)容數(shù)據(jù)的步驟,以及所述解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)、構(gòu)建文檔對象模型樹節(jié)點的步驟,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成;根據(jù)所述文檔對象模型樹節(jié)點創(chuàng)建文檔對象模型樹;根據(jù)所述文檔對象模型樹生成相應(yīng)的渲染樹;根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局,根據(jù)所述渲染樹進行渲染,得到渲染對象;及根據(jù)所述網(wǎng)頁內(nèi)容的頁面布局和渲染對象顯示網(wǎng)頁。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述根據(jù)渲染樹進行網(wǎng)頁內(nèi)容的頁面布局的動作包括根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局,并在布局處理期間向網(wǎng)絡(luò)模塊發(fā)起詢問, 檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則繼續(xù)所述解析網(wǎng)頁內(nèi)容數(shù)據(jù)、構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成的步驟。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述在布局處理期間向網(wǎng)絡(luò)模塊發(fā)起詢問、檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的動作包括在每完成一個布局時,向所述網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于所述根據(jù)渲染樹進行網(wǎng)頁內(nèi)容的頁面布局的動作包括根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局,并在布局處理期間向網(wǎng)絡(luò)模塊發(fā)起詢問, 檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則繼續(xù)執(zhí)行下一個網(wǎng)頁內(nèi)容的頁面布局處理的動作。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于所述在布局處理期間向網(wǎng)絡(luò)模塊發(fā)起詢問、檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的動作包括在每完成一個布局時,向所述網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于所述根據(jù)渲染樹進行渲染、得到渲染對象的動作包括根據(jù)所述渲染樹進行渲染、得到渲染對象,并在渲染期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則繼續(xù)所述解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)、構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成的步驟。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于所述在渲染期間發(fā)起詢問、檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的動作包括在每完成一個對象的渲染時,向所述網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于所述根據(jù)渲染樹進行渲染、得到渲染對象的動作包括根據(jù)所述渲染樹進行渲染、得到渲染對象,并在渲染期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則繼續(xù)執(zhí)行下一個對象的渲染處理的動作。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于所述在渲染期間發(fā)起詢問、檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)的步驟包括在每完成一個對象的渲染時,向所述網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù)。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于 所述下載網(wǎng)頁內(nèi)容數(shù)據(jù)的步驟包括向服務(wù)器發(fā)送下載網(wǎng)頁內(nèi)容數(shù)據(jù)的請求; 接收所述服務(wù)器響應(yīng)所述請求而返回的網(wǎng)頁內(nèi)容數(shù)據(jù)。
11.一種WebKit瀏覽器裝置,其特征在于,包括網(wǎng)絡(luò)模塊,用于使WebKit瀏覽器客戶端與服務(wù)器進行網(wǎng)絡(luò)數(shù)據(jù)通訊; 下載模塊,用于通過所述網(wǎng)絡(luò)模塊下載網(wǎng)頁內(nèi)容數(shù)據(jù); 解析模塊,用于解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)得到解析結(jié)果;第一創(chuàng)建模塊,用于根據(jù)所述解析結(jié)果構(gòu)建文檔對象模型樹節(jié)點,并使下載模塊繼續(xù)進行下載網(wǎng)頁內(nèi)容數(shù)據(jù)、使解析模塊解析網(wǎng)頁內(nèi)容數(shù)據(jù),第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成; 第二創(chuàng)建模塊,用于根據(jù)所述文檔對象模型樹節(jié)點創(chuàng)建文檔對象模型樹; 第三創(chuàng)建模塊,用于根據(jù)所述文檔對象模型樹生成相應(yīng)的渲染樹; 布局模塊,用于根據(jù)所述渲染樹進行網(wǎng)頁內(nèi)容的頁面布局; 渲染模塊,用于根據(jù)所述渲染樹進行渲染,得到渲染對象;以及顯示模塊,用于根據(jù)所述網(wǎng)頁內(nèi)容的頁面布局和渲染對象顯示網(wǎng)頁。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于所述裝置包括第一詢問模塊,所述第一詢問模塊用于在網(wǎng)頁內(nèi)容的頁面布局期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于所述第一詢問模塊具體用于在每完成一個布局時,向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。
14.根據(jù)權(quán)利要求11所述的裝置,其特征在于所述裝置包括第一詢問模塊,所述第一詢問模塊用于在網(wǎng)頁內(nèi)容的頁面布局期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則使布局模塊進行下一個網(wǎng)頁內(nèi)容的頁面布局處理。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于所述第一詢問模塊具體用于在每完成一個布局時,向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則使布局模塊進行下一個網(wǎng)頁內(nèi)容的頁面布局處理。
16.根據(jù)權(quán)利要求11所述的裝置,其特征在于所述裝置包括第二詢問模塊,所述第二詢問模塊用于在進行渲染、得到渲染對象的期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于所述第二詢問模塊具體用于在每完成一個對象的渲染時,向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若是,則使解析模塊繼續(xù)解析網(wǎng)頁內(nèi)容數(shù)據(jù),而使第一創(chuàng)建模塊繼續(xù)構(gòu)建文檔對象模型樹節(jié)點,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成。
18.根據(jù)權(quán)利要求11所述的裝置,其特征在于所述裝置包括第二詢問模塊,所述第二詢問模塊用于在進行渲染、得到渲染對象的期間向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則使渲染模塊進行下一個對象的渲染處理。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于所述第二詢問模塊具體用于在每完成一個對象的渲染時,向網(wǎng)絡(luò)模塊發(fā)起詢問,檢查網(wǎng)絡(luò)模塊是否正在下載網(wǎng)頁內(nèi)容數(shù)據(jù);若否,則使渲染模塊繼續(xù)進行下一個對象的渲染處理。
20.根據(jù)權(quán)利要求11所述的裝置,其特征在于 所述下載模塊包括下載請求單元和數(shù)據(jù)接收單元;所述下載請求單元用于通過網(wǎng)絡(luò)模塊向服務(wù)器發(fā)起下載網(wǎng)頁內(nèi)容數(shù)據(jù)的請求; 所述數(shù)據(jù)接收單元用于接收服務(wù)器響應(yīng)所述請求而返回的網(wǎng)頁內(nèi)容數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種WebKit瀏覽器網(wǎng)頁內(nèi)容加載方法及裝置,所述方法包括通過WebKit瀏覽器的網(wǎng)絡(luò)模塊下載網(wǎng)頁內(nèi)容數(shù)據(jù);解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)得到解析結(jié)果;根據(jù)所述解析結(jié)果構(gòu)建文檔對象模型樹節(jié)點,并繼續(xù)進行下載網(wǎng)頁內(nèi)容數(shù)據(jù)、解析所述網(wǎng)頁內(nèi)容數(shù)據(jù)以及構(gòu)建文檔對象模型樹節(jié)點的步驟,直至文檔對象模型樹的所有文檔對象模型樹節(jié)點構(gòu)建完成;根據(jù)所述文檔對象模型樹節(jié)點創(chuàng)建文檔對象模型樹;根據(jù)所述文檔對象模型樹生成相應(yīng)的渲染樹;根據(jù)所述渲染樹顯示網(wǎng)頁。本發(fā)明通過把創(chuàng)建渲染樹的過程獨立出來,使其不再占用網(wǎng)絡(luò)資源,在加載復(fù)雜網(wǎng)頁內(nèi)容時,能夠減少網(wǎng)頁加載的總體時間,增強用戶瀏覽網(wǎng)頁的使用體驗。
文檔編號G06F17/30GK102346770SQ20111028201
公開日2012年2月8日 申請日期2011年9月21日 優(yōu)先權(quán)日2011年9月21日
發(fā)明者亢祖直, 孫明勇 申請人:晨星半導(dǎo)體股份有限公司, 晨星軟件研發(fā)(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1