



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式浏览器 Konqueror/E的移植和汉化 Konqueror/embedded是针对嵌入式Linux的开放源码浏览器,也是符合GNU条款的自由软件。本文首先对该浏览器技术核心做了简要分析,然后详细介绍了Konqueror/embedded在ARM-Linux操作系统上的移植和汉化过程。1 Konqueror/E概述随着网络科技的进步,因特网与无线网络的融合将成为必然趋势。要在嵌入式设备上访问因特网,浏览器是必不可少的。目前,嵌入式浏览器已经逐渐成为高端手机和PDA的标准配置。嵌入式浏览器的另一大作用就是在网页中利用CGI(CommonGateway Interface:公用网关接口)来调用其他可执行程序。这样控制页面可以做的很美观,而且可扩展性好。现在已经面市的嵌入式浏览器大多市商业版本的,如Opera、MS Explorer等。而Konqueror/embedded是符合GNU条款的自由软件。Konqueror/embedded是针对嵌入式 Linux,由著名的桌面操作环境KDE下的浏览器Konqueror派生出来的。Konqueror/embedded将Konqueror中关于 KHTML,SSL(Security Socket Layer:安全套接层),Javascript等内容继承下来,同时简化了Konqueror中很多类的定义,剔除了原来KDElib部分,以适应在不同的嵌入式平台下能构成功移植和运行。Konqueror/embedded完整地支持HTML4(Hypertext Markup Language:超文本链接标示语言)和CSSL(Cascading Style Sheets:层叠样式表单)部分支持CSS2、JavaScript(ECMAScript 262)、cookies、SSL、IPv6;支持和管理兼容的XBEL的书签,并且能够很好地支持中文网页浏览。而且还可以将 Konqueror/embedded作为一个flashpalyer、pppdialer或文件管理器来使用。图1 Konqueror/E运行界面图1为Konqueror/embedded在Embedded-Linux平台上运行界面。 Konqueror/embedded作为嵌入式Linux操作系统的首选浏览器,被广泛的使用。但是由于该浏览器是自由软件,因此向具体嵌入式平台移植时存在一定的难度。本文第三部分详细的介绍了Konqueror/embedded向ARM-Linux平台上的整个移植和汉化过程,以便开发者参考和使用。2 Konqueror/E的结构Konqueror/embedded是由底层网络连接,图形化用户界面和处理HTML绘制的引擎KHTML构成的。底层的通信协议实现是基于KIO/slave机制来实现的;GUI界面采用可Kparts组建技术和Qt 的基本构件;而作为Konqueror/embedded的核心KHTML则运用了文档对象模型(DOM)所提供的API接口,并在DOM树上挂接 javascript引擎,CSS解析器以及渲染引擎。Konqueror/embedded的层次结构如图2所示。图2 Konqueror/embedded的层次结构(1) Kparts及QT构件实现GUI在KDE中,部件被称为part,这和MS中的OLE组件是一个概念。一个part通常包含三个部分:一个窗口、功能、以及使用该功能的用户接口。应用在浏览器项目中,part 包含了多个窗口(一个页面对应于一个 part,而一个页面有可能包含多个窗口)、part 提供的功能包括:页内、页间的跳转、重定向、窗口的创建和删除、用户的输入处理、剪切、粘贴等,同时为使用这些功能提供了菜单、工具条、状态条等用户接口。其他的应用程序可以使用该 part 把浏览器窗口嵌入自己的应用中。为了方便地实现将现有应用作为一个控件插入到另外一个应用中去,采用了 part 对象负责管理整个应用和窗口。对于每个窗口又采取了类似 Microsoft MFC 中的 Doc-View 结构。因此在将应用嵌入到另外一个应用中的时候,只需要获得 part 中的接口和数据即可。对窗口的一切操作的响应由被嵌入应用的 part 对象来完成,而类 Doc-View 结构只简单的负责显示和保存显示数据就可以了。Kpart 定义了一系列简单的类:part、plugin、mainwindow、part manager。其中:1. Part:是 KDE 中的部件。为了定义一个Part,你需要提供widget,当然还有提供访问Part功能的Actions,还要有一个XML文件来描述在UI中Actions的布局。2. Plugin:它是一小段功能程序,不通过嵌入一个Widget来实现。但是定义了应用程序用户接口对应的动作。它可以是图形的,比如弹出的对话框、拼写检查等。3. Mainwindow:它是一个特殊的KTMainWindow,它的具有Action定义的UI是由XML文件来描述的,这样它可以通过弥合XML文件来嵌入Part对象。4. Part manager:它是一个抽象的类,用来处理激活还是禁止 part。它只有在一个 mainwindow 中包含多个 part 的时候才有用。由于Konqueror/embedded是基于图形库QT/E,因此也遵循了signal、slot消息机制,Konqueror/embedded作为QT/E的一个标准应用程序进行输入输出及界面消息响应。(2)执行DOM 模块DOM 模块对经过解析的标记进行文法检查,并把属性看作节点,按照标记的语义包含关系以及先后顺序组织成DOM树。它给HTML 文档定义了一个与平台无关的程序接口。使用该接口可以控制文档的内容、接口和样式。在执行DOM模块的过程中,浏览器将所有从语法语义解析模块中获得标记和属性按照一定的层次结构组织成DOM 树。完成构筑DOM 树的功能后,DOM 模块会同时标记和属性以对象的形式传给绑定模块和脚本引擎模块。(3)执行I/O 模块浏览器加载有关的I/O文件,对HTTP等协议进行解析。语法语义解析模块的解析功能分为两部分:对接收到的字节流进行分词,解析为关键字;调用解析器检验关键字是否合法,若是合法的关键字,则按照规则插入到DOM 树中。HTML 的标记(tag)和属性(attribute)统称为HTML的关键字。基本上所有HTML 4. 0 规范的标记都在此功能模块中获得支持。从I / O 模块中接收字节流并进行分词,输出标记;再对标记进行判断,如果是HTML 规范中合法的标记,则把标记看作一个节点,并组织成一棵语法树。对属性标记的解析首先在标记处理类中执行,如果解析不成功,则交由基类的属性解析器进行解析。以上简要介绍了Konqueror/E的几个核心技术,下面结合实际详细介绍Konqueror/E的移植和汉化过程。3 Konqueror/E的移植3.1交叉编译工具的安装准备文件:当编译器运行在一个为另一系统产生可执行程序的系统上时,就会出现交叉编译。通常,程序是在一台计算机上编译,然后再分布到将要使用的其他计算机上。当主机系统(运行编译器的系统)和目标系统(产生的程序将在其上运行的系统)不兼容时,该过程就叫做交叉编译。在本文中运用的交叉编译工具是ARM-CrossToolchain,这是专门为ARM处理器设计的交叉编译工具。该工具主要包含:交叉编译器(arm -linux-gcc),编译库(glibc),包含文件(头文件)和一些与ARM处理器相关的其他工具。这些工具都包含在cross- 2.95.3.tar.bz2压缩包文件中,这个交叉编译工具在一般开发板的软件包中都有。值得一提的是,本文所使用的所有软件包,都能在网上免费下载到。工具补丁主要是提供一些编译QT/E和Qtopia时需要用到的库,其中包含了uuid库,Jpeg库在Qtopia和Konqueror/E编译时将要用到。有了这些工具就可以进行交叉编译环境的建立了,如图3所示。注意2.95.3版本的交叉编译工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年化妆品品牌推广经理营销能力考核试卷及答案解析
- 2025年家政服务专业初级考试技巧与预测题分析
- 2025年应急救灾无人机笔试高频题解宝典
- 2025年广播电视节目制作师技术水平测试试题及答案解析
- 2025年电子商务运营专员职业技能考核试题及答案解析
- 2025年水管员灌渠方向面试冲刺题
- 课件不准修改的原因
- 2025年工业机器人编程题集
- 机电提升运输安全知识培训课件
- 2025年农发行招聘笔试高频考点预测题
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- 万东GFS型高频高压发生装置维修手册
- 公寓de全人物攻略本为个人爱好而制成如需转载注明信息
- 企业经营沙盘模拟实训指导书
- 汉密尔顿抑郁量表17项
- 《现代物流管理》第一章-导论(课用)
- 智能制造生产线运营与维护课件完整版
- 树木清障专项施工方案
- 内部审计-内部审计准则完整版-中国内部审计准则体系
- 《爱的教育》读书分享读书分享2
- 合伙经营教育培训机构合同经典版
评论
0/150
提交评论