“浏览器内核”主要指渲染引擎(Rendering Engine),负责解析网页语法(如HTML、JavaScript)并渲染、展示网页。因此,所谓的浏览器内核通常也就是指浏览器所采用的渲染引擎, 渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解析也有所不同,因此同一网页在不同的内核浏览器里的渲 染、展示效果也可能不同。

  浏览器内核种类繁多,商用的加上非商业的免费内核,大约会超过10款,我们今天重点看一下目前主流的四大浏览器内核Trident、Gecko、WebKit以及Presto。

  一、Trident内核(代表:Internet Explorer

  说起Trident,很多人都会感到陌生,但提起IE(Internet Explorer)则无人不知无人不晓,由于其被包含在全世界使用率最高的操作系统Windows中,得到了极高的市场占有率,所以我们又经常称其为IE内核。

  Trident(又称为MSHTML),是微软开发的一种排版引擎。它在1997年10月与IE4一起诞生,一直在被不断地更新和完善。而且除IE外,许多产品都在使用Trident核心,比如Windows的Help程序、RealPlayerWindows Media PlayerWindows Live Messenger、Outlook Express等等都使用了Trident技术。

  Trident实际上是一款开放的内核,Trident引擎被设计成一个软件模块,使得其他软件开发人员很容易将网页浏览功能加到他们自行开发的应用程序里,其接口内核设计相当成熟,因此涌现出许多采用IE内核而非IE的浏览器,但是Trident只能用于Windows平台。使用Trident渲染引擎的浏览器包括:IE、傲游世界之窗浏览器、Avant、腾讯TT、Sleipnir、GOSURFGreenBrowserKKman等。

  二、Gecko内核(代表:MozillaFirefox

  Gecko是开放源代码、以C++编写的网页排版引擎,目前被Mozilla家族网页浏览器以及Netscape 6以后版本浏览器所使用。这款软件原本是由网景通讯公司开发的,现在则由Mozilla基金会维护。由于Gecko的特点是代码完全公开,因此,其可开发 程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,采用Gecko内核的浏览器也很多,这也是 Gecko内核虽然年轻但市场占有率能够迅速提高的重要原因。

  Gecko排版引擎提供了一个丰富的程序界面以供与互联网相关的应用程序使用,例如网页浏览器、HTML编辑器、客户端/服务器等。虽然最初的主要对象是Mozilla的衍生产品,如Netscape和Mozilla Firefox,但是现在已有很多其他软件利用这个排版引擎。此外Gecko也是一个跨平台内核,可以在Windows、BSD、Linux和Mac OS X中使用。

  正在和曾经使用Gecko引擎的浏览器有Firefox、网景6~9、SeaMonkey、Camino、Mozilla、Flock、Galeon、K-Meleon、Minimo、Sleipni、Songbird、XeroBank。Google Gadget引擎采用的就是Gecko浏览器引擎。

  三、WebKit内核(代表:Safari、Chrome

  WebKit 是一个开放源代码的浏览器引擎(Web Browser Engine),WebKit最初的代码来自KDE的KHTML和KJS(它们均为开放源代码,都是自由软件,在GPL协议下授权)。所以WebKit也 是自由软件,同时开放源代码。它的特点在于源码结构清晰、渲染速度极快。主要代表产品有Safari和Google的浏览器Chrome。

  WebKit内核在手机上 的应用也十分广泛,例如Google的Android平台浏览器、Apple的iPhone浏览器、Nokia S60浏览器等所使用的浏览器内核引擎,都是基于WebKit引擎的。 WebKit内核也广泛应用于Widget引擎产品,包括中国移动的BAE、Apple的Dashboard以及Nokia WRT在内采用的均为WebKit引擎。

  四、Presto内核(代表:Opera)

  Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。Presto的特点就是 渲染速度的优化达到了极致,它是目前公认的网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。

  Presto实际上是一个动态内核,与Trident、Gecko等内核的最大区别就在于脚本处理上,Presto有着天生的优势,页面的全部 或者部分都能够在回应脚本事件时等情况下被重新解析。此外该内核在执行JavaScript时有着最快的速度,根据同等条件下的测试,Presto内核执行同等JavaScript所需的时间仅有Trident和Gecko内核的约1/3。Presto是商业引擎,了Opera以外较少浏览器使用Presto内核,这在一定程度上限制了Presto的发展。

浏览器内核Trident/Gecko/WebKit/Presto的更多相关文章

  1. 浏览器内核 Trident Gecko Presto Webkit

    Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等 Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等 Prest ...

  2. 了解常见的浏览器内核 Trident,Geckos,Presto,Webkit

    了解常见的浏览器内核 Trident,Geckos,Presto,Webkit 内核只是一个通俗的说法,英文名称为"Layout engine",翻译过来就是"排版引擎& ...

  3. 目前主流的四大浏览器内核Trident、Gecko、WebKit以及Presto

    “浏览器内核”主要指渲染引擎(Rendering Engine),负责解析网页语法(如HTML.JavaScript)并渲染.展示网页.因此,所谓的浏览器内核通常也就是指浏览器所采用的渲染引擎,渲染引 ...

  4. 【css3】浏览器内核及其兼容性

    浏览器内核分类如下: 1.Webkit内核: 使用此引擎内核的浏览器有:Safari(包括移动版和桌面版).Chrome.其私有属性的前缀是-webkit-. 2.Gecko内核: 使用此引擎内核的浏 ...

  5. 主流浏览器内核,以及CSS3前缀识别码

    现在国内常见的浏览器有:IE.Firefox.QQ浏览器.Safari.Opera.Google Chrome.百度浏览器.搜狗浏览器.猎豹浏览器.360浏览器.UC浏览器.遨游浏览器.世界之窗浏览器 ...

  6. 关于浏览器内核与javascript引擎的一些小知识

    浏览器是我们每天几乎都必须使用的软件产品,可是对于自己每天都接触的浏览器,很多同学其实对其一无所知.今天异次元就跟大家说说关于浏览器内核的一些事儿吧,好让你了解多一点稍微内在的东西. 在下面的文章中主 ...

  7. 主流浏览器内核(IE、Chrome、Firefox、Safari、Opera)

    IE浏览器,使用Trident浏览器内核,又称为IE内核.只用于Windows平台,而且并不是开源的: chrome浏览器,目前使用的是Blink浏览器内核.浏览器内核的演进过程:Chromium  ...

  8. css3中-moz、-ms、-webkit,-o分别代表的意思,以及微信浏览器内核分析

    这种方式在业界上统称:识别码.前缀 //-ms代表[ie]内核识别码 //-moz代表火狐[firefox]内核识别码 //-webkit代表谷歌[chrome]/苹果[safari]内核识别码 // ...

  9. 浏览器内核-Webkit

    关键字:浏览器内核,浏览器引擎,Browser,Webkit,Blink,Chromium. 本文简单介绍一下各种浏览器内核.着种介绍一下Webkit.顾名思义,浏览器内核就是浏览器的核心部分,也可以 ...

随机推荐

  1. 数据库存储过程 — Sql Server

    Mysql.Oracle等主流关系型数据库基本都支持存储过程,这里使用Sql Server为例进行说明. 存储过程的概念: Sql Server存储过程 SQL Server 中的存储过程是由一个或多 ...

  2. Android 基于Netty的消息推送方案之字符串的接收和发送(三)

    在上一篇文章中<Android 基于Netty的消息推送方案之概念和工作原理(二)> ,我们介绍过一些关于Netty的概念和工作原理的内容,今天我们先来介绍一个叫做ChannelBuffe ...

  3. [c#]asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息

    上一篇已经把所有消息封装且都各自有方法处理了,这篇从使用第一步——关注开始,  关注之后进行消息记录,同时回复文本消息给用户,关注方法:DoSub,另外新用户扫描带参数的二维码关注方法:DoCodeN ...

  4. jQuery事件与事件对象

    事件是脚本编程的灵魂,本篇来介绍jQuery中的事件处理及事件对象. 事件与事件对象 首先,我们来看一下经常使用的添加事件的方式: <input type="button" ...

  5. 归并树 划分树 可持久化线段树(主席树) 入门题 hdu 2665

    如果题目给出1e5的数据范围,,以前只会用n*log(n)的方法去想 今天学了一下两三种n*n*log(n)的数据结构 他们就是大名鼎鼎的 归并树 划分树 主席树,,,, 首先来说两个问题,,区间第k ...

  6. 3.class文件基本结构

    转 http://blog.csdn.net/luanlouis/article/details/39892027 [last updated: 2014/11/19 09:06] 作为Java程序猿 ...

  7. mybatis常用语句

    <trim>标签中,prefix 前缀,suffix后缀, suffixOverrides语句最后如果有指定符号,则去除此符号, prefixOverrides语句最前面如果有指定符号,则 ...

  8. js formatString 格式化字符串

    /* 函数:格式化字符串 参数:str:字符串模板: data:数据 调用方式:formatString("api/values/{id}/{name}",{id:101,name ...

  9. 3月6日 c#语言

    语言基础 一.输入与输出 1.Main函数: static void Main(string [] args) { }程序代码需要写在Main函数的花括号内. 2.输出: Console.Write( ...

  10. virtual pc中添加软盘支持

    最近对操作系统挺有兴趣的,实验了一下!准备找一个虚拟机,之前在xp上使用virtual pc感觉不错,准备在本机上装一下,但是发现居然不支持软盘了! 查阅了各种资料,终于找到了解决的办法. 1. 下载 ...