VC397 嵌入式浏览器开发论文
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
摘 要
think58.com
本文主要论述了嵌入式浏览器开发所涉及到的技术,对HTML词法分析、浏览器JavaScript支持、linux和gtk编程等做了详细的分析和介绍,并对Netbit浏览器的开发进行了介绍,分析了主要的模块的功能和组成,并给出了主要算法。
[资料来源:http://THINK58.com]
还对典型的嵌入式浏览器进行了分析,包括Gzilla,Mozilla,Thunder和zen,总结了浏览器设计的技术要点和开发策略。
think58
另外,在论文开头,介绍了目前嵌入式浏览器产品的发展现状,嵌入式浏览器的组成和各部份功能说明。
内容来自think58 [来源:http://www.think58.com]
[资料来源:http://think58.com]
HTML词法分析是着重讨论的技术问题,给出了详尽的数据结构,程序流程。 [版权所有:http://think58.com]
Netbit浏览器的开发,是本论文的重点,分模块进行了分析,提出了需要改进的地方,并给出了改进措施。 本文来自think58 [资料来源:http://think58.com]
关键词:嵌入式浏览器,HTML词法分析,Javascript,linux,gtk
2.5 HTML词法分析的应用
2.5.1 应用举例:
HTML词法分析程序通常应用于浏览器设计、网页制作软件设计等领域,本人以一个使用VC开发的软件“HTML智能分析”来举例说明,下载网址:
http://netbit_browser.myetang.com/introduce.html。
think58 [资料来源:http://www.THINK58.com]
“HTML智能分析”同样使用Bit Token词法分析器,“HTML智能分析”是一个网页信息提取、处理软件。 think58.com [资料来源:THINK58.com]
具有以下主要功能:
1、智能提取网页中的文字信息,智能排版,并可在进行编辑后保存。
2、统计网页的有关信息。
3、根据用户设置的版式,将分析和编辑的结果,自动生成新的网页。
内容来自think58
[资料来源:THINK58.com]
[资料来源:http://www.THINK58.com]用户可使用该软件来将HTML转为TXT格式,其对HTML中文字内容的提取准确、快速、不含冗余信息,版式工整清晰,保持本来面貌。
其主要设计思路是,在Bit Token词法分析器的基础上,结合浏览器布局的基本算法,对影响到TXT版面效果的元素进行处理。 think58好,好think58 [资料来源:www.THINK58.com]
比如<PRE>标记,代表所包含的内容浏览器应不予分析,按TXT格式输出,而如表格<TR>等元素则意味着需要换行。而在HTML中,在无<PRE>这种特殊情况时,回车都是忽略不记的。这就造成了矛盾。使用常规的简单算法进行HTML到TXT的转换无法解决这些问题。造成转换后的版式“失真“。而“HTML智能分析”却能很好的解决。 内容来自think58
[资料来源:http://www.THINK58.com]
由于“HTML智能分析”使用了底层的词法分析技术,还可以很容易的过滤掉<SCRIPT>与<STYLE>(样式表)。并可以对网页中的元素进行统计和语法校验。
以下是该程序的片断:
pTtokenList=global_cx->tokenList; //取首节点
while(pTtokenList!=NULL) //循环直至处理完所有节点
{
switch(pTtokenList->token->type)
{//根据节点类型,做不同的处理
case HTML_TITLE: ……
case HTML_TEXT: ……
default: ……
} //switch
pTtokenList=pTtokenList->next; //取下一个节点
} //while
think58
[版权所有:http://think58.com]
这段程序实际上就是一个简单的语法分析和布局的过程。 本文来自think58
2.5.2 Bit Token在应用中存在的问题及修改意见
由于HTML的标记多是成对出现的,并且存在<SCRIPT>这样的特殊元素,其内容为Javascript程序,函数的字符串参数等可能包含其它的元素标记。例如语句:Alert(“<font> is a tag”); copyright think58 [来源:http://www.think58.com]
因此,在词法分析时要对<SCRIPT>标记进行特殊处理,遇到<SCRIPT>就应逐字符读入后面的内容,直到遇到下一个</SCRIPT>标记。目前的Bit Token由于开发时间所限,未对其加以特殊处理,存在一些问题,但由于浏览器对Javascript的支持是较复杂的工作,目前的Netbit Browser尚不予实现,因而没有导致明显问题,而“HTML智能分析”这个软件只是需要对Javascript进行删除操作,也不会造成影响。尽管如此,对<SCRIPT>的特殊处理还是有待完善,尽管这同时也会带来一些问题,需要进行大量的测试,来保证新加入代码的稳定性。
think58
[资料来源:http://www.THINK58.com]
正如前面所述,HTML词法分析是浏览器设计的基础环节之一,但并非最重要和最具难度的环节,若想开发出效果较好的浏览器产品,还要在布局和GUI设计上多下功夫。 think58好,好think58 [资料来源:http://THINK58.com]