• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Konqueror/embedded向ARM-Linux平臺的移植和漢化

    Konqueror/embedded向ARM-Linux平臺的移植和漢化

    作者: 時間:2010-12-12 來源:網(wǎng)絡(luò) 收藏

    引言

    目前,嵌入式瀏覽器已經(jīng)逐漸成為高端手機(jī)和PDA的標(biāo)準(zhǔn)配置。 Konqueror/embeded作為嵌入式Linux操作系統(tǒng)的首選瀏覽器得到了廣泛使用。但是由于該瀏覽器是自由軟件,因此向具體嵌入式時存在一定的難度。本文主要介紹了上的整個過程,以便工程師參考和使用。
      
    的結(jié)構(gòu)
      
    是由底層網(wǎng)絡(luò)連接,圖形化用戶界面和處理HTML繪制的引擎KHTML構(gòu)成的。底層的通信協(xié)議實(shí)現(xiàn)是基于KIO/slave機(jī)制來實(shí)現(xiàn)的;GUI界面采用Kparts組建技術(shù)和Qt的基本構(gòu)件;而作為Konqueror/embedded的核心,KHTML則運(yùn)用了文檔對象模型(DOM)所提供的API接口,并在DOM樹上掛接javascript引擎,CSS解析器以及渲染引擎。Konqueror/embedded的層次結(jié)構(gòu)如圖1所示。

      

    本文引用地址:http://www.czjhyjcfj.com/article/151225.htm


    圖1 Konqueror/embedded層次結(jié)構(gòu)

    Kparts及Qt構(gòu)件實(shí)現(xiàn)GUI
      
    為了方便地實(shí)現(xiàn)將現(xiàn)有應(yīng)用作為一個控件插入到另外一個應(yīng)用中去,采用了part對象負(fù)責(zé)管理整個應(yīng)用和窗口。對于每個窗口又采取了類似 微軟 MFC 中的 Doc-View 結(jié)構(gòu)。因此在將應(yīng)用嵌入到另外一個應(yīng)用中的時候,只需要獲得part中的接口和數(shù)據(jù)即可。對窗口的一切操作的響應(yīng)由被嵌入應(yīng)用的 part 對象來完成,而類 Doc-View 結(jié)構(gòu)只負(fù)責(zé)顯示和保存數(shù)據(jù)即可。
      
    由于Konqueror/embedded是基于圖形庫Qt/E,因此也遵循了signal、slot消息機(jī)制,Konqueror/embedded作為Qt/E的一個標(biāo)準(zhǔn)應(yīng)用程序進(jìn)行輸入/輸出及界面消息響應(yīng)。
      
    執(zhí)行DOM 模塊
      
    DOM 模塊對經(jīng)過解析的標(biāo)記進(jìn)行語法檢查,并把屬性看作節(jié)點(diǎn),按照標(biāo)記的語義包含關(guān)系以及先后順序組織成DOM樹。它給HTML 文檔定義了一個與無關(guān)的程序接口,使用該接口可以控制文檔的內(nèi)容、接口和樣式。
      
    在執(zhí)行DOM模塊的過程中,瀏覽器將所有從語法語義解析模塊中獲得的標(biāo)記和屬性,按照一定的層次結(jié)構(gòu)組織成DOM 樹。完成DOM 樹的構(gòu)筑后,DOM 模塊會同時把標(biāo)記和屬性以對象的形式傳給綁定模塊和腳本引擎模塊。
     
    執(zhí)行I/O模塊
      
    瀏覽器加載有關(guān)的I/O文件,對HTTP等協(xié)議進(jìn)行解析。語法語義解析模塊的解析功能分為兩部分:對接收到的字節(jié)流進(jìn)行分詞,解析為關(guān)鍵字;調(diào)用解析器檢驗(yàn)關(guān)鍵字是否合法,若是合法的關(guān)鍵字,則按照規(guī)則插入到DOM 樹中。
      
    HTML 的標(biāo)記和屬性統(tǒng)稱為HTML的關(guān)鍵字。基本上所有HTML 4. 0 規(guī)范的標(biāo)記都在此功能模塊中獲得支持。從I / O 模塊中接收字節(jié)流并進(jìn)行分詞,輸出標(biāo)記;再對標(biāo)記進(jìn)行判斷,如果是HTML 規(guī)范中合法的標(biāo)記,則把標(biāo)記看作一個節(jié)點(diǎn),并組織成語法樹。對屬性標(biāo)記的解析首先在標(biāo)記處理類中執(zhí)行,如果解析不成功,則交由基類的屬性解析器進(jìn)行解析。

      
    圖2編譯配置

    linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

    上一頁 1 2 下一頁

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 大城县| 公安县| 周至县| 丹阳市| 江西省| 鸡泽县| 大足县| 高安市| 五台县| 北海市| 洛宁县| 莎车县| 平原县| 沧州市| 多伦县| 赤峰市| 门头沟区| 苏尼特左旗| 海丰县| 闽侯县| 敦煌市| 通辽市| 石首市| 竹北市| 周口市| 商河县| 永寿县| 双江| 陇川县| 涞源县| 措勤县| 宣化县| 甘洛县| 武强县| 库车县| 恩平市| 双峰县| 航空| 清水河县| 牟定县| 文成县|