作前端开发的程序员必定要熟悉各类浏览器的内核,以了解各类浏览器的兼容性,浏览器自带的特性,这样才能作出更好的兼容性设计以及代码撰写。前端
浏览器的种类,若是按照生产商的品牌分,不说数以万计,起码也有成百上千种了, 若是按浏览器核心分类,它的种类就会少的多。 当今浏览器核心的种类值得一体的大约只有三到四个,它们分别是:Trident、Gecko、WebKit和Presto。 乍一看,彷佛都很陌生,其实并否则,只要你上过网,就至少用过其中一种浏览器核心的浏览器软件,由于它们的市场占有率的确是过高了。程序员
1、Trident核心,表明产品Internet Explorerweb
提及Trident,不少人都会感到陌生,但提起IE(Internet Explorer)则无人不知无人不晓,因为其被包含在全世界使用率最高的操做系统Windows中,获得了极高的市场占有率,因此咱们又常常称其为IE核心。 Trident(又称为MSHTML),是微软开发的一种排版引擎。它在1997年10月与IE4一块儿诞生,至今经历12年,至少更新了四个版本,虽然它相对其它浏览器核心还比较落后,但Trident一直在被不断地更新和完善。并且除IE外,许多产品都在使用Trident核心,好比Windows的Help程序、RealPlayer、Windows Media Player、Windows Live Messenger、Outlook Express等等都使用了Trident技术。 但并非全部的IE都使用Trident引擎,微软还有另外一个网页浏览器排版引擎,叫作Tasman,它是使用在Internet Explorer for Mac的排版引擎,即苹果版的IE引擎。 使用Trident引擎的浏览器有不少,好比Internet Explorer、Maxthon遨游、世界之窗、腾讯TT、Netcapter、Avant等等,但Trident只能应用于Windows平台,且是不开源的。
浏览器
2、Gecko核心,表明做品Mozilla Firefox服务器
Gecko也是一个陌生的词,但Firefox的名声应该已经有所耳闻,Gecko是一套开放源代码的、以C++编写的网页排版引擎。 目前为Mozilla家族网页浏览器以及Netscape 6之后版本浏览器所使用。这软件本来是由网景通信公司开发的,如今则由Mozilla基金会维护。它的最大优点是跨平台,能在Microsoft Windows、Linux和MacOS X等主要操做系统上运行,并且它提供了一个丰富的程序界面以供互联网相关的应用程式使用,例如网页浏览器、HTML编辑器、客户端/服务器等等。 Gecko是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox、Netscape6至9。
网络
3、WebKit核心,表明做品Safari、Chrome编辑器
webkit 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,主要用于Mac OS系统,它的特色在于源码结构清晰、渲染速度极快。主要表明做品有Safari和Google的浏览器Chrome。
ide
4、Presto核心,表明做品Opera学习
Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而从新排版。 Presto在推出后不断有更新版本推出,使很多错误得以修正,以及阅读Javascript效能得以最佳化,并成为速度最快的引擎,这也是Opera被公认为速度最快的浏览器的基础。测试
5、扩展阅读-壳子浏览器 俗话就是换了外壳包装下出来忽悠的浏览器
如今还有不少壳子浏览器,本身自己不带内核,而是直接调用本机其余浏览器的内核,来实现浏览的功能。因为IE浏览器在国内的普及率很是高,因此形成了不少网上银行和支付系统只支持IE的Trident内核,其余浏览器访问根本没法进行正常支付和转帐等业务。不少浏览器开发商就运用了壳子浏览器的特性推出了“双核”浏览器,带有两种浏览模式,其原理就是自己带一内核,开启兼容模式后,调用本机上的ie内核,来实现双引擎功能。其中表明产品有搜狗浏览器、傲游三、QQ浏览器等。这种浏览器的好处在访问支付宝或者网上银行的时候,使用Trident内核的“兼容模式”来进行业务。这样一个浏览器多个内核,知足同一用户的不一样需求。
内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”。它负责取得网页的内容(HTML、XML、图像等等)、整理信息(例如加入CSS等),以及计算网页的显示方式,而后会输出至显示器或打印机。全部网页浏览器、电子邮件客户端以及其它须要编辑、显示网络内容的应用程序都须要排版引擎。
不一样的浏览器内核对网页编写语法的解释也有不一样,所以同一网页在不一样的内核的浏览器里的渲染(显示)效果也可能不一样,这也是网页编写者须要在不一样内核的浏览器中测试网页显示效果的缘由。
6、简单总结
一、使用Trident内核的浏览器:IE、Maxthon、TT、The World等;
二、使用Gecko内核的浏览器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;
三、使用Presto内核的浏览器:Opera7及以上版本;
四、使用Webkit内核的浏览器:Safari、Chrome。