一種WAP嵌入式瀏覽器的設計
1.2 網(wǎng)頁(yè)工作流程
數據從URL發(fā)出一個(gè)網(wǎng)頁(yè)請求,提交到通信模塊,通信模塊得到數據之后,交給數據處理模塊進(jìn)行解析。生成DOM樹(shù),然后布局模塊會(huì )根據DOM樹(shù)上的節點(diǎn)進(jìn)行布局整理,同時(shí)將布局信息存儲到DOM樹(shù)中,最后繪圖模塊會(huì )對客戶(hù)端進(jìn)行繪制。一般情況下,瀏覽器中看到的就是繪圖模塊的繪制效果。頁(yè)面訪(fǎng)問(wèn)流程如圖3所示。
圖3 頁(yè)面訪(fǎng)問(wèn)流程
在嵌入式瀏覽器設計時(shí)中考慮了C/S(Client/Server)結構,即客戶(hù)機和服務(wù)器結構。它是軟件系統體系結構,通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現,降低了系統的通訊開(kāi)銷(xiāo)。在此設計中,解析處理和文字布局均在server處理,最終顯示在client端。
2.1 解析處理
獲得WML文件之后,開(kāi)始讀取WML文件,獲取字符,判斷是否是“”字符。如果是,就繼續判斷是否是標簽開(kāi)始符。如果是起始標簽,獲取元素的屬性,比如屬性值和屬性名稱(chēng)等,屬性由WML文檔的DTD定義。也就是程序自動(dòng)判斷是文本格式、圖片格式、表格格式、還是其他格式,根據格式類(lèi)型進(jìn)行不同的解析。最后,將當前狀態(tài)以及參數值進(jìn)行存儲,依次循環(huán),直至循環(huán)結束,生成DOM樹(shù)。具體流程如圖4所示。
圖14 解析流程
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論