Chinaunix首页 | 论坛 | 博客
  • 博客访问: 665735
  • 博文数量: 156
  • 博客积分: 4833
  • 博客等级: 上校
  • 技术积分: 1554
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-21 19:36
文章分类

全部博文(156)

文章存档

2016年(2)

2013年(1)

2012年(13)

2011年(30)

2010年(46)

2009年(29)

2008年(23)

2007年(12)

分类: 系统运维

2009-03-20 22:33:28

当前主流浏览器的引擎及浏览器:

Trident:IE4及以上、外核浏览器Maxthon、腾讯TT、世界之窗TheWorld

Presto:Opera7及以上

Gecko:Firefox2及以上、K-Meleon

KHTML:Safari、Konqueror

一、Trident

图形接口的排版引擎: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引擎对网页标准有较佳的支持。与普遍的看法相反的是,微软已经停止了Mac计算机版本的 Internet Explorer的开发,但Tasman的开发仍旧持续, 新版本的Tasman引擎仍被应用在一些微软产品上,如:麦金塔计算机版本的Microsoft Office。

二、Tasman

图形接口的排版引擎:Tasman – Macintosh版的Internet Explorer

Tasman,是微软的Internet Explorer for Mac浏览器所使用的排版引擎,也是为尝试支持W3C所制定的网页标准而设计的。在Tasman推出时,一度是最切合HTML及CSS等标准的排版引擎。 现时微软方面也停止为Internet Explorer for Mac提供支持,但新版本的Tasman引擎仍被应用在一些微软产品上。

三、Presto

Presto是一个由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。

Presto取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。Presto在推出后不 断有更新版本推出,使不少错误得以修正,以及阅读Javascript效能得以最佳化,并成为速度最快的引擎。

四、Gecko

于1997年,网景收购了DigitalStyle。当时,网景浏览器在各方面的表现已经比 不上她的主要竞争对手Internet Explorer。这包括程式的执行速度、对W3C标准的支援度等等。网景开始研发下一代的排版引擎,并期望把新的排版引擎应用于下一版本的网景浏览器 上。

1998年初,Mozilla计划开始执行。这个新的排版引擎名为Raptor,以开发源码 的方式发放于互联网上。后来,因为商标问题,Raptor改外为NGLayout(即next generation layout之意)。而最后NGLayout就被网景重新命名为Gecko。但由于Gecko为网景的商标,所以有一段时期Mozilla组织(属于网景 的非正式组织,亦为Mozilla基金会的前身)以NGLayout来称呼这个新的排版引擎,而在该时,Gecko这字亦指XPFE(cross- platform front-end),一个以XML为基础的使用者接口。不过,现时Gecko这字只用于排版引擎。

1998年10月,网景公布下一版的浏览器将会使用这个排版引擎,而该浏览器亦需要被大幅度 重写。对于致力推动网上标准的人,这是一个令人振奋的消息。然而,对于网景开发者而言,这是一个长达六个月的大工程,而他们在网景5.0上(包括 Mariner排版引擎)所花的心血亦被白白浪费。结果,网景6.0在2000年11月才被正式发布。

随着Gecko的开发,越来越多应用程式开始利用她。AOL作为网景的母公司,终于在CompuServe 7.0和AOL for Mac OS X上使用Gecko。可惜,Windows版的AOL浏览器始终没有利用过Gecko。

2003年7月15日时代华纳解散了网景公司,大部分开发者被解雇。而Mozilla基金会亦在当天成立,继续推动着Gecko的发展。时至今天,Gecko仍继续由Mozilla的雇员和义工所维护和发展。

Gecko将会继续支持更多的网络标准,例如XForms和SVG。Mozilla基金会作为WHATWG的一份子,Gecko和其他排版引擎将会率先支援WHATWG所定下的规格,例如可供绘画的canvas。

Gecko的绘画元件在1.9版将会有重大的改变。她将会使用跨平台的Cairo元件来代替 作业平台的绘画接口。这个改变将会令Gecko拥有更佳的绘图能力。而加上Glitz的话,更可利用3D硬件加速。而所有多媒体内容(如 HTML/CSS、canvas、SVG等)将可使用同一管道作出渲染, SVG的特效亦可以应用于HTML上。因为使用Cairo的关系,图像亦可以被输出作PNG和PDF,“另存本页为PDF”等作业将变得有可能。

1.兼容的标准

Gecko引擎支持下列标准:

    * HTML 4.01

    * XML 1.0

    * XHTML 1.1

    * MathML

    * CSS Level 1(支援部份CSS 2和3)

    * DOM Level 1和2(支援部份DOM 3)

    * RDF

    * JavaScript 1.7

    * E4X

    * SVG(支援部份SVG 1.1)

2 .使用KHTML的产品

网页浏览器

    * Mozilla Application Suite *

    * Mozilla Firefox *

    * AOL for Mac OS X

    * Aphrodite *

    * Beonex Communicator *

    * Camino

    * CompuServe 7.0

    * DocZilla

    * Epiphany

    * Galeon

    * IBM Web Browser

    * K-Meleon

    * Kazehakase

    * ManyOne *

    * Maxthon(本身并不支持,需要使用插件)

    * Minimo

    * Netscape 6.0和以上 *

    * Salamander

    * SeaMonkey *

    * Skipstone

    * Flock *

其他应用程式

    * ActiveState Komodo *

    * Liferea

    * Mozilla ActiveX Control

    * Mozilla Calendar *

    * Mozilla Thunderbird *

    * Nvu *

    * GRE for Gecko-Sharp *

      MediaCoder

* 使用Gecko来渲染基于XUL的用户界面。

五、KHTML

KHTML,是HTML网页排版引擎之一,由KDE所开发。KDE系统自KDE2版起,在档 案及网页浏览器使用了KHTML引擎。该引擎以C++编程语言所写,并以LGPL授权,支援大多数网页浏览标准。由于微软的Internet Explorer的占有率相当高,不少以FrontPage制作的网页均包含只有IE才能读取的非标准语法,为了使KHTML引擎可呈现的网页达到最多, 部分IE专属的语法也一并支援。

KHTML拥有速度快捷的优点,但对错误语法的容忍度则比Mozilla产品所使用的 Gecko引擎小。苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码 的WebCore及WebKit引擎,它们均是KHTML的衍生产品,在开发网站列出引擎改变内容,并会传回至KDE计划。由于两个衍生产品各走不同路 线,使两者源代码偏离,在与KDE交换更新会出现困难。其中一个原因,是苹果在对外公开源代码之前,以一年时间编修他们的KHTML。另外,苹果传送更新 至KDE计划的方式,多是一口气把大量改动一起传送,KDE在整理资料也出现一定的困难,及后苹果表示会以CVS格式来传送。再者,苹果所作出的改动包括 Mac OS X系统独有的事物,如Objective-C、KWQ等,在Linux及KHTML是没有的。但KDE方面仍透过这些改动,为KHTML加入新功能及加快 其排版速度。

1.兼容的标准

KHTML引擎支持下列标准:

    * HTML 4.01

    * CSS 1

    * CSS 2.1 (paged media除外)

    * CSS 3 选择符(selector)及部分其他功能

    * PNG, MNG, JPEG, GIF 图形格式

    * DOM 1, 2 及部分的 DOM 3

    * ECMA-262/JavaScript 1.5

    * 部分 SVG

2 .使用KHTML的产品

    * KDE Konqueror - KDE的网页浏览器及档案管理员

    * Safari - 苹果电脑的网页浏览器

    * Embedded Konqueror - PDA上的网页浏览器

    * SkyKruzer - SkyOS上的网页浏览器

    * ABrowse - Syllable操作系统上的网页浏览器

    * Nokia Series 60 移动电话的浏览器

六、WebCore

WebCore是苹果公司开发的排版引擎,它是在另外一个排版引擎“KHTML”的基础上而 来的。苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码的 WebCore及WebKit引擎,它们均是KHTML的衍生产品。

使用WebCore的主要有Safari,此外还有OmniWeb、Shiira、Swift等。

七、WebKit

WebKit 是一个开源浏览器网页排版引擎,与之相应的引擎有Gecko(Mozilla,Firefox 等使用的排版引擎)和Trident(也称为MSHTML,IE 使用的排版引擎)。同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和 KJS,当年苹果比较了 Gecko 和 KHTML 后,仍然选择了后者,就因为它拥有清晰的源码结构、极快的渲染速度。

目前使用WebKit 引擎的浏览器主要有:Safari,Midori,Epiphany 等。

阅读(708) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~