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