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