论文部分内容阅读
随着市场需求的不断扩大和细化,为实现专用功能和特殊目的的嵌入式产品越来越多的被人们所熟知。网络的发展给嵌入式系统提供了更广阔的空间,连接服务器或接入互联网的需求使浏览器成为嵌入式系统中重要的组成部分。开源的嵌入式浏览器还不多,konqueror/embedded是其中应用最广泛,也是功能最强大的一款。本文分为六个主要部分。
第一部分简单介绍了嵌入式浏览器的现状和发展前景,引出开源浏览器konqueror/embedded及编程工具Qt。
第二部分详细叙述了konqueror/embedded在Linux操作系统下向ARM9平台的编译移植过程。konqueror/embedded作为Qtopia的应用程序,需要Qt共享库支持,编译过程主要涉及环境变量的设置和configure参数的选择。
第三部分是作者在分析konqueror/embedded的基础上,实现的嵌入式浏览器总体设计。此总体设计针对HTML网页的解析,不涉及XML网页。系统由视图、文档、DOM标准、JavaScript、HTML解析、排版渲染和网络传输七个子系统组成,与konqueror/embedded的主要区别在视图、文档子系统。文章设计了各个子系统的数据结构。
第四部分是konqueror/embedded源码分析,首先阐述了源码用到的关键技术,包括KIO、Kpart、DCOP、DOM。然后说明了源码的整体架构和模块划分,对它的消息机制和消息传递做了较为详细的剖析,主要是KIO和KPART的消息传递。
第五部分是HTML解析过程。konqueror/embedded在解析和显示网页时,遵循DOM标准,文章介绍了DOM和HTML的特点和规范,详细分析了源码中的HTML分词解析和DOM树的构建。
第六部分对浏览器中有关方面提出了改进建议,针对konqueror/embedded对有些中文网页显示乱码的问题提出中文国际化建议。针对DOM树的查询遍历效率不高的问题,文章建议在源码使用XPath。