【技術實現步驟摘要】
本專利技術屬于互聯網
,尤其涉及一種基于WebKit的瀏覽器頁面顯示方法及其裝置。
技術介紹
在WebKit中,主要通過Webcore和JavaScriptCore處理接收到的內容,創建版面樣式,顯示文本、圖片、表格單元和其他數據類型的內容。一個Http請求在WebKit中的主要流程如下用戶從瀏覽器界面開始輸入URL地址,然后界面把URL發送到渲染進程,渲染進程再進行處理,把網絡連接地址變成一個資源的消息,通過IPC機制把消息發送到資源下載進程。下載進程中的函數把消息變成一個網絡下載請求,創建一個下載任務,完成設置 定時器、啟動下載任務等一系列操作,并向服務器發送下載請求。瀏覽器不斷的向服務器發送下載請求直到資源下載完全或下載超時為止,服務器響應HTTP請求后返回給本地HTML/XHTML源數據。如果是第一次請求并順利訪問,服務器會在響應HTTP請求后返回為200的狀態,同時會返回給瀏覽器一些headers集合(例如Last-Modified和Etag等)和相應請求資源,瀏覽器接收到這些信息后會將資源緩存在本地目錄中并保存這些頭(headers)信息,當瀏覽器獲得返回給本地的HTML/XHTML數據后,通過DOM (Document ObjectModelMEHTML文本解析成DOM樹。當用戶請求的網頁里面包含JavaScript腳本,并隨HTML文件一起傳送到客戶端瀏覽器上時,其中HTML文本中的JavaScript將由JavaScriptCore解析執行。通過布局管理器Layout對DOM樹中的可視元素排版,分配位置、高度、寬度,再由CSS(Casca ...
【技術保護點】
一種基于WebKit的瀏覽器頁面顯示方法,其特征在于,該方法包括以下步驟:1)向服務器發送頁面請求;2)從服務器下載頁面資源,下載的同時,WebKit中的布局管理器對所請求的頁面進行布局渲染;3)在所述布局渲染完成后,繪制并顯示頁面。
【技術特征摘要】
1.一種基于WebKit的瀏覽器頁面顯示方法,其特征在于,該方法包括以下步驟 O向服務器發送頁面請求; 2)從服務器下載頁面資源,下載的同時,WebKit中的布局管理器對所請求的頁面進行布局渲染; 3)在所述布局渲染完成后,繪制并顯示頁面。2.如權利要求I所述的方法,所述布局渲染的步驟進一步包括 把從服務器返回的HTML文本解析生成DOM樹,同時生成Render樹,使得DOM樹和Render樹是同時增長的。3.如權利要求I所述的方法,其中,當所請求的頁面中包含JavaScript腳本,并隨HTML文本一起從服務器返回到客戶端瀏覽器上時,所述HTML文本中的JavaScript腳本由JavaScriptCore解析并執行。4.如權利要求2所述的方法,其中DOM樹和Render樹的生成步驟具體包括 把DOM樹中的可視元素排版,分配位置、高度、寬度,再由CSS規定輸出的特性,由渲染器進行視覺化表達,生成Render樹。5.如權利要求4所述的方法,其中所述輸出的特性包括顏色、字體。6.如權利要求I所述的方法,所述步驟3)具體包括 在所述布局渲染完成后,觸發一個事件,該事件啟動繪制過程。7.如權利要求I所述的方法,進一步包括步驟 4)接收用戶對同一頁面的再次請求; 5)判斷步驟2)中對頁面資源的下載是否完全; 6)如果下載完全,則判斷所述下載時從服務器接收的expires字段設置的時間是否過期,以及判斷HTTP響應期限是否超時,如果expires時間未過期、且兩次頁面請求之間的時間間隔未超過HTTP響應期限,那么不向服務器發送再次下載頁面請求,而是返回成功狀態,結束頁面請求流程; 7)如果expires時間已過期、或者兩次頁面請求之間的時間間隔已超過HTTP響應期限,那么向服務器發送再次下載頁面請求。8.如權利要求7所述的方法,進一步包括 8)向服務器發送上次下載頁面資源時接收的Last-Modified和Etag字段內容; 9)如果再次請求下載的頁面資源未被修改,則向布局管理器發送網頁未更新狀態消息,布局管理器根據該網頁未更新狀態消息,不釋放內存中已生成的DOM樹和Render樹,而是直接觸發啟動繪制過程的事件,進行頁面繪制操作; 10)如果再次請求下載的頁面資源已被修改,則釋放內存中已生成的DOM樹和Render樹,重新生成修改后的DOM樹和Render樹,并重新繪制頁面。9.如權利要求7所述的方法,其中,當步驟4)中的對同一頁面的再次請求來自于F5快捷鍵刷新時,跳過對expires時間和HTTP響應期限的判斷,當下載完全時,直接向服務器發送再次下載頁面的請求。10.一種基于WebKit的瀏覽器頁面顯示裝置,其特征在于,該裝置包括 初次頁面請求模塊,用于向服務器發送頁面請求; ...
【專利技術屬性】
技術研發人員:陳宇,鄢斌,
申請(專利權)人:中科方德軟件有限公司,中國科學院軟件研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。