[發明專利]WebKit瀏覽器網頁內容加載方法及裝置有效
| 申請號: | 201110282015.8 | 申請日: | 2011-09-21 |
| 公開(公告)號: | CN102346770A | 公開(公告)日: | 2012-02-08 |
| 發明(設計)人: | 亢祖直;孫明勇 | 申請(專利權)人: | 晨星軟件研發(深圳)有限公司;晨星半導體股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 深圳市威世博知識產權代理事務所(普通合伙) 44280 | 代理人: | 何青瓦 |
| 地址: | 518000 廣東省深圳市南山區高新*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | webkit 瀏覽器 網頁 內容 加載 方法 裝置 | ||
技術領域
本發明涉及瀏覽器技術領域,尤其涉及一種WebKit瀏覽器網頁內容加載方法及裝置。
背景技術
隨著互聯網技術的發展,網頁瀏覽器應用范圍越來越廣泛,從最初運行在個人電腦上,到現在延伸到手機、掌上電腦、數字電視等各種嵌入式系統中。基于瀏覽器開發的應用越來越多,網頁內容也越來越豐富。然而豐富復雜的網頁會導致瀏覽器加載時間延長,用戶需要花費更多時間等待頁面加載完成,這給用戶的使用帶來了很大的不便。特別對于嵌入式領域的瀏覽器應用,由于硬件資源限制,如何快速加載頁面并呈現給用戶是瀏覽器開發者面臨的巨大挑戰。
WebKit作為一個開源的網頁瀏覽器引擎,是當今三大主力瀏覽器內核之一,其具有速度快、高效穩定、兼容性好以及應用范圍廣泛等特點。請參閱圖1,目前WebKit網頁瀏覽器引擎加載網頁的基本方法是:向服務器發出數據請求,接收服務器響應數據,根據HTML的語法語義解析數據,同時生成文檔對象模型樹和渲染樹,完成布局,并通過渲染最終呈現給用戶。
如前所述,在已知技術中,WebKit瀏覽器在解析數據構建文檔對象模型樹時,會同時構建渲染樹,即構建一個文檔對象模型(DOM,Document?Object?Model)樹節點時,會根據元素可視性構建對應的渲染(Render)樹節點,這種方式需要占用網絡資源,導致網絡模塊下載數據緩慢,從而降低WebKit瀏覽器網頁內容的加載速度,嚴重影響用戶瀏覽網頁的使用體驗。
發明內容
本發明主要解決的技術問題是提供一種WebKit瀏覽器網頁內容加載方法及裝置,能夠使WebKit瀏覽器更快速地處理下載網頁內容,從而減少瀏覽器加載網頁的總體時間。
為解決上述技術問題,本發明采用的一個技術方案是:提供一種WebKit瀏覽器網頁內容加載方法,包括以下步驟:通過WebKit瀏覽器的網絡模塊下載網頁內容數據;解析所述網頁內容數據得到解析結果;根據所述解析結果構建文檔對象模型樹節點,并繼續進行所述下載網頁內容數據的步驟,以及所述解析所述網頁內容數據、構建文檔對象模型樹節點的步驟,直至文檔對象模型樹的所有文檔對象模型樹節點構建完成;根據所述文檔對象模型樹節點創建文檔對象模型樹;根據所述文檔對象模型樹生成相應的渲染樹;根據所述渲染樹進行網頁內容的頁面布局(Web?Layout),根據所述渲染樹進行渲染,得到渲染對象;根據所述網頁內容的頁面布局和所述渲染對象顯示網頁。
其中,所述根據渲染樹進行網頁內容的頁面布局的動作包括:根據所述渲染樹進行網頁內容的頁面布局,并在布局處理期間向網絡模塊發起詢問,檢查網絡模塊是否正在下載網頁內容數據;若是,則繼續所述解析網頁內容數據、構建文檔對象模型樹節點以及直至文檔對象模型樹的所有文檔對象模型樹節點構建完成的步驟。
其中,所述在布局處理期間向網絡模塊發起詢問、檢查網絡模塊是否正在下載網頁內容數據的動作包括:在每完成一個布局時,向所述網絡模塊發起詢問,檢查網絡模塊是否正在下載網頁內容數據。
其中,所述根據渲染樹進行網頁內容的頁面布局的動作包括:根據所述渲染樹進行網頁內容的頁面布局,并在布局處理期間向網絡模塊發起詢問,檢查網絡模塊是否正在下載網頁內容數據;若否,則繼續執行下一個網頁內容的頁面布局處理的動作。
其中,所述在布局處理期間向網絡模塊發起詢問、檢查網絡模塊是否正在下載網頁內容數據的動作包括:在每完成一個布局時,向所述網絡模塊發起詢問,檢查網絡模塊是否正在下載網頁內容數據。
其中,所述根據渲染樹進行渲染、得到渲染對象的動作包括:根據所述渲染樹進行渲染、得到渲染對象,并在渲染期間向網絡模塊發起詢問,檢查網絡模塊是否正在下載網頁內容數據;若是,則繼續所述解析所述網頁內容數據、構建文檔對象模型樹節點以及直至文檔對象模型樹的所有文檔對象模型樹節點構建完成的步驟。
其中,所述在渲染期間發起詢問、檢查網絡模塊是否正在下載網頁內容數據的動作包括:在每完成一個對象的渲染時,向所述網絡模塊發起詢問,檢查網絡模塊是否正在下載網頁內容數據。
其中,所述根據渲染樹進行渲染、得到渲染對象的動作包括:
根據所述渲染樹進行渲染、得到渲染對象,并在渲染期間向網絡模塊發起詢問,檢查網絡模塊是否正在下載網頁內容數據;若否,則繼續執行下一個對象的渲染處理的動作。
其中,所述在渲染期間發起詢問、檢查網絡模塊是否正在下載網頁內容數據的步驟包括:在每完成一個對象的渲染時,向所述網絡模塊發起詢問,檢查網絡模塊是否正在下載網頁內容數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于晨星軟件研發(深圳)有限公司;晨星半導體股份有限公司,未經晨星軟件研發(深圳)有限公司;晨星半導體股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110282015.8/2.html,轉載請聲明來源鉆瓜專利網。
- 內容再現系統、內容提供方法、內容再現裝置、內容提供裝置、內容再現程序和內容提供程序
- 內容記錄系統、內容記錄方法、內容記錄設備和內容接收設備
- 內容服務系統、內容服務器、內容終端及內容服務方法
- 內容分發系統、內容分發裝置、內容再生終端及內容分發方法
- 內容發布、內容獲取的方法、內容發布裝置及內容傳播系統
- 內容提供裝置、內容提供方法、內容再現裝置、內容再現方法
- 內容傳輸設備、內容傳輸方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容發送設備、內容發送方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容再現裝置、內容再現方法、內容再現程序及內容提供系統
- 內容記錄裝置、內容編輯裝置、內容再生裝置、內容記錄方法、內容編輯方法、以及內容再生方法





