什么是排版引擎?你的浏览器是什么排版引擎?
Saturday, 23. December 2006, 13:55:20
网页浏览器的排版引擎也被称为页面渲染引擎,它负责取得网页的内容(HTML、XML、图象等等)、整理信息(例如加入CSS等),以及计算网页的显示方式然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要排版引擎。
在Mozilla将其排版引擎(Gecko)作为独立于浏览器的一个配件之后,“排版引擎”这个词汇才被广泛使用。也就是说,除了Mozilla浏览器,其它浏览器也可以使用Gecko作自己排版引擎。
图形接口的排版引擎:
Gecko – Netscape 6.0及以上、Mozilla、Mozilla Firefox
C++编写的网页排版引擎。目前为Mozilla家族网页浏览器以及Netscape 6以后版本浏览器所使用。这软件原本是由网景通讯公司开发的,现在则由Mozilla基金会维护。
这套排版引擎提供了一个丰富的程序界面以供因特网相关的应用程序使用,例如网页浏览器、HTML编辑器、客户端/服务器等等。虽然最初的主要对象是Mozilla的衍生产品,如Netscape和Mozilla Firefox,现在已有很多其他软件现在利用这个排版引擎。Gecko是跨平台的,能在Microsoft Windows、Linux和Mac OS X等主要操作系统上运行。
Trident – Windows版的Internet Explorer
Trident(又称为MSHTML),是微软的窗口操作系统(Windows)搭载的网页浏览器—Internet Explorer的排版引擎的名称,它的第一个版本随着1997年10月Internet Explorer第四版释出,之后不断的加入新的技术并随着新版本的Internet Explorer释出。在未来最新的Internet Explorer第七版中,微软将对Trident排版引擎做了的重大的变动,除了加入新的技术之外,并增加对网页标准的支持。尽管这些变动已经在相当大的程度上落后了其它的排版引擎,如Gecko、WebCore、KHTML及Presto。
Trident引擎被设计成一个软件组件(模块),使得其它软件开发人员很容易的将网页浏览的功能加到他们自行开发的应用程序里。微软提出了一个称为组件对象模型(COM)的软件接口架构。供其它支持的组件对象模型开发环境的应用程序(如:C++及.NET)存取及编辑网页。例如,由C++所撰写的程序可以加入浏览器控件里,并透过Trident引擎存取当前显示在浏览器上的网页内容及网页的各种元素的值,从浏览器控件触发的事件亦可被程序撷取并进行处理。Trident引擎所提供的所有函式库可以透过与mshtml.dll这个档案的连结而达成撰写程序时所需要的功能。
除此之外,微软还有另一个网页浏览器排版引擎,称为Tasman,它是使用在「Internet Explorer for Mac」的排版引擎。相较于Trident,Tasman引擎对网页标准有较佳的支持。与普遍的看法相反的是,微软已经停止了麦金塔计算机版本的Internet Explorer的开发,但Tasman的开发仍旧持续, 新版本的Tasman引擎仍被应用在一些微软产品上,如:麦金塔计算机版本的Microsoft Office。
Presto – Opera 7.0及以上
Presto是一个由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。
Presto取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。
Presto在推出后不断有更新版本推出,使不少错误得以修正,以及阅读Javascript效能得以最佳化,并成为速度最快的引擎。
WebCore – Safari及OmniWeb (暂缺)
Tasman – Macintosh版的Internet Explorer
Tasman,是微软的Internet Explorer for Mac浏览器所使用的排版引擎,也是为尝试支持W3C所制定的网页标准而设计的。在Tasman推出时,一度是最切合HTML及CSS等标准的排版引擎。现时微软方面也停止为Internet Explorer for Mac提供支持,但新版本的Tasman引擎仍被应用在一些微软产品上。
其他:iCab – iCab;KHTML – Konqueror;GtkHTML
文字界面的排版引擎:
Lynx是“Distributed Computing Group within Academic Computing Services of The University of Kansas”的产品,原先由Lou Montulli、Michael Grobec和Charles Rezac开发。后来Garrett Blythe(DosLynx的原作者)也加入Lynx团队。接著Foteos Macrides将Lynx移植到VMS系统,并且维持了这个软件一段时间。1995年,Lynx在GPL下发布,自此至今由一群志愿者维护。
Lynx本来是为Unix和VMS设计,而且一直是GNU/Linux中最受欢迎的console浏览器。也有DOS版本。近来更有Microsoft Windows版本。也有Macintosh版本(所谓“for System 7 and later”),虽然并不时常更新。
因为其接口适合文字转语音技术和点字显示器,Lynx一度很受视障者欢迎,但后来更好的萤幕阅读器减少了Lynx对盲人的吸引力。
其主要竞争者是Links浏览器(有几种不同版本)和W3M浏览器。
Links是个开放源代码的纯文字网页浏览器。
Links原先由捷克人Mikulas Patocka开发。此软体具有一个拉下式选单系统,能呈现复杂的网页(支援部分的4.0版HTML,包括表格和框架,也支援数个字集), 支援多色和单色的terminal,而且支援水平卷动。不像Lynx以及w3m,此软体是针对‘明眼人’使用者,以纯文字介面工作但仍设计使用了许多图形使用者介面的常见元素(弹出视窗、拉下式选单等)。开发的重点是确保即使在低阶terminal(如图书馆、网咖)下也能直觉的使用。
Links 2是另一种Links浏览器,由‘Twibright Labs’组织领导开发。能呈现图形还有字体大小变化(有‘反锯齿’效果),并且支援JavaScript。开发出来的软体非常快速,但能呈现的网页比想像中少。图形模式能在Unix下运行,依靠的甚至不是‘X Window’或是其他视窗环境,而是靠SVGALib。
ELinks(E代表实验型或加强型)是Links的分支,由Petr Baudis领导开发。此软体是基于Links 0.9版开发的。此软体的开发更加开放,并且加入了来自其他版Links和网际网路使用者的补强。
Links Hacked又是另一版Links浏览器,结合了Elinks和Links 2的功能。
已退出历史舞台的:
Elektra – Opera 4-6
Mariner – Netscape Communicator 5










