乌徒帮技术范技术中心 › 浏览器排版引擎

浏览器排版引擎

分类:技术中心

原本在百度百科中对排版引擎做了非常详细的介绍,但是为了让这一名称得到更多的被了解,乌徒帮将浏览器排版引擎的资料进行收集,以制作一篇完整的关于排版引起的资料。

1、什么是排版引擎?

网页浏览器的排版引擎也被称为页面渲染引擎,它负责取得网页的内容(HTML、XML、图象等等)、整理信息(例如加入CSS等),以及计算网页的显示方式然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要排版引擎。简单的说就是把网页的HTML+CSS渲染为我们所见到的页面的处理工具。

为什么要把排版引擎挑出来进行介绍?

因为我们搞网页开发的朋友,特别是前端的朋友每天要完成很多兼容性的问题,之所以你写出来的界面在不同浏览器下效果不同,最重要的原因之一就是排版引擎不同(类型和版本),排版引擎是页面渲染的引擎,渲染结果自然就不同了。我们写CSS Hack其实也是针对排版引擎。从这个角度讲,我们称它为浏览器的内核。

2、排版引擎有哪些?

浏览器四大内核Trident、Gecko、Presto、WebKit你应该听说过吧,没错排版引擎我们就要讲到它们。

Trident

俗称IE内核,(又称为MSHTML,)微软公司出品,微软为解决视窗浏览器IE而设计,IE7之后已经发展了很多次版本。使用这一排版引擎的还有世界之窗浏览器、Avant、腾讯TT、Netscape 8、NetCaptor、GreenBrowser等浏览器。

Gecko

Mozilla把它从浏览器中独立出来,成为浏览器的一个配件,是套开放源代码的、以C++编写的网页排版引擎。其他任何人想要自己写一个浏览器,可以将它拿过来作为自己的排版引擎(内核)。而且它是跨平台的,Linux和Mac OS X等系统上也能跑,因此linux上默认的浏览器都是firefox。使用这一排版引擎的浏览器有Firefox、网景(6至9)、Mozilla、Flock等浏览器。

KHTML(WebKit)

KHTML,是HTML网页排版引擎之一,由KDE所开发。苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用。WebCore及WebKit引擎均是KHTML的衍生产品;WebKit是Mac OS X v10.3及以上版本所包含的软件框架,WebKit是Mac OS X的Safari网页浏览器的基础。Chrome借鉴Safari开发成果,也采用WebKit引擎。目前国内多个浏览器称采用双内核,多采用Trident和WebKit最为排版引擎(内核),如360、搜狗2等。

Presto

由Opera Software开发的浏览器排版引擎,应用于Opera 7.0~9.60版,它取代了旧版Opera中所使用的Elektra排版引擎(已成为历史),包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。所以你会发现,用Opera浏览器时,页面很快加载出来,但是随着页面逐渐加载,排版也可能会发生变化,特别是网速慢的情况下,这正是由于Presto引擎的动态功能。Opera和任天堂DS浏览器采用了该内核。

Java

用Java写的排版引擎,功能强大,可移植性强。微软推出的.NET平台以及模仿Java的C#语言正是与之竞争下的产物。使用Java排版引擎的浏览器主要是一些手机浏览器(特别是Android出现之前)如Opera Mini、UCWEB。

Tasman

Internet Explorer for Mac浏览器所使用的排版引擎,也是为尝试支援W3C所制定的网页标准而设计的。在Mac版的Microsoft Office 2004中,电子邮件客户端Microsoft Entourage使用的就是Tasman排版引擎。Internet Explorer for Mac、MSN for Mac OS X使用该引擎。

文本界面

用纯文本作为排版引擎,不一定在浏览器中,早期的BBS,Linux中的字符界面等。Lynx、Links、w3m使用该引擎。

手持设备或嵌入式系统

如Internet Explorer Mobile、Minimo、Opera Mobile、PSP浏览器。

其他

Amaya、Dillo、Mosaic。

3、如果知道设备使用的是什么排版引擎?

在我们的浏览器中,使用USER AGENT(UA)可以大概了解使用的是什么排版引擎。一个UA字符串的完整模式如下:

浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息

其中渲染引擎标识即包含了排版引擎的类型和版本号。至于如何获取USER AGENT,不同的语言环境不同,你可以根据自己的情况通过搜索引擎查阅。

填写个人信息,赶快回复吧!