一、浏览器内核
Rending Engine, 顾名思义,称之为渲染网页内容的,将网页的代码转换为你看得见的页面,因为是排版,所以排版,所以肯定会有排版错误等问题。为什么会有排版错误呢,一部分是由于网站本身编写不规范,另一方面是浏览器本身的不规范
现在有一些主流的排版引擎,因为这些排版引擎都有其代表的浏览器,所以常常会把排版引擎的名称和浏览器的名称混用,其实这样是不合理的,因为一个完整的浏览器不会只有唯一的排版引擎,还有自己的界面框架和其他的功能支撑,而排版引擎本身也不可能实现浏览器的所有功能,下面罗列出几款主流的的排版引擎和浏览器
1、Trident内核(window)
Trident就是大名鼎鼎的IE浏览器所使用的内核,也是很多浏览器所使用的内核,MS现在采用的越来越少,反之使用webkit的越来越多,老的trident内核(比如IE6)当年占得市场份额很大,后果就是大量的网页是专门为IE6等老trident内核编写,但这些网页的代码并不符合w3c标准,于是完全符合w3c标准的网页在老trident内核下出现了偏差,这就是为什么后来很多人觉得后来的IE9网页排版有点混乱,而IE6正常,其实不是浏览器的兼容性差了,而是你访问的的网页不符合新的标准,目前可供调用的最新版的Trident内核是IE9使用的内核,较之前的版本对w3c的标准支持增了很多
基于Trident内核的浏览器有
ie6,ie7,ie8(Trident 4.0) , ie9(trident 5.0) , ie10(trident6.0);
世界之窗,360安全浏览器, 遨游2.0(3.0以上版本开始采用webkit内核),搜狗浏览器,腾讯TT;其中部分版本的浏览器是双核浏览器,甚至是多核,
2、Gecko(跨平台)
Natescape6启用的内核,现在又mozilla基金会进行维护,是开源的浏览器内核,目前主流的Gecko内核是mozilla firefox, 由于firefox的出现,IE的霸主地位逐渐被削弱,chrome的出现加速了这个进程,非trident内核的兴起逐渐改变了整个互联网的格局,最直接的推动是编码的标准化,也使MS在竞争的压力下不得不改进IE,不过可惜的是,虽然是开源的,也开发了这么多年,基于Gecko的浏览器并不多见,除了一些简单的改动或者重新编译,深度定制或者增了强外壳的还是比较少见。另外就是一些软件借用了Gecko,比如音乐管理软件songbird
3、khtml(linux)
KDE开发的内核,速度快捷,容错率低,这种内核不见得有很多人知道,但后面看下去你就会明白,常见的khtml内核的浏览器有:konqueror
4、webkit(跨平台)
由khtml发展而来,也是apple给开源世界的一大贡献,是目前最火热的浏览器内核,火热的不是说它的市场份额,而是应用的面积和势头,因为脱胎于khtml,所以具有高速的特点,同样遵守w3c标准,从目前来看,webkit内核是最具有潜力而且是已经有相当成绩的新型内核,性能非常好,对w3c标准的支持也非常完善,本人十分看好他、
常见的基于webkit内核的浏览器主要有:
apple 的safari(win/mac/iphone/ipad) 、google的chrome、塞班手机浏览器、Android手机默认的浏览器
5、Presto(跨平台)
opera所 采用的内核,准确的说是opera7.0及以后的版本采用的内核,之前的版本采用的内核是elektra, 无容置疑,Presto内核对w3c的支持也很良好,presto对页面文字的解析方面的性能比webkit还要高,对页面有较高的阅读性
基于presto的内核的浏览器有; opera
更多其它的内核的介绍请查询wiki百科
二、javascript引擎
说完了排版引擎,下面来说说javascript引擎,顾名思义,js引擎就是用来执行javascript代码的, 简单的举个例子,一个计算圆周率的网页,排版引擎把页面的框架显示出来,最终的结果要用javascript来计算,所以javascript引擎的快慢也是对整个网页的速度有很大的影响,特别是最近 目前越来越多的类似webQQ、Gmail等大量复杂的基于javascript运算的网站,不同的执行引擎的速度的差别很显然易见
为甚么要单独拿出来说,因为还涉及到跑分,现在通俗的说那个浏览器更快,实际上是指执行javascript脚本的速度也就是javascript的渲染速度,而不是页面的载入速度,在
网速允许的情况下,其实各浏览器的网页载入的速度差别不是很大,由于现在javascript在页面中的比重越来越大,越来越多的动态画面开始大量借助于javascript,比如现在主流的SNS、邮箱、网页游戏,所以javascript的渲染速度也是一个很重要的指标,javascript的渲染速度越快,动态页面的显示也就是越快,opera在javascript引擎的跑分上一直是遥遥领先的,一般来说在最新版本之间PK,opera基本上都会夺冠
1、chakra 查克拉 IE9启用的新的javascript引擎
2、spidermonkey /tracemonkey/jaegerMonkey
spidermonkey应用在mozilla firefox1.0-3.0版本上, tracemomonkey 应用在3.0-4.,0版本上,jaegermonkey应用在4.0及以后新的版本上
3、v8引擎 一般应用在chrome 遨游3浏览器上
4、Nitro 应用于 safari 4及以后的版本上
5、linear A/ linear B /futhark/carakan
linear A 用于Opera4.0-6.1版本,linear B用于opera7.0-9.2版本 futhark应用于opera9.5-10.2版本,carakan用于Opera10.5及后续的版本
6、KJS KHTML对应的javascript引擎
三、几个与浏览器有关的测试项目
1、V8引擎 现在很多双核浏览器都是用它来测试javascript引擎,分数越高越好
2、Acid3 这个主要是对网页标准的兼容性测试,分数越高表示越符合网页的开发标准,满分是100分
3、html5 测试对htm5标准的支持,分数越高越好
四、几多奇葩
1、IETab
这是一款浏览器扩展,并非内核,在没有第三方编译版本的时候,IEtab一直是firefox 、chrome等非trident内核等浏览器安装的扩展之一,方便用户在不开启IE的情况下调用trident内核访问一些兼容性比较差的网站
2、trident/gecko双核浏览器
3、trident/webkit双核浏览器这个这个
国内最流行的主流双核浏览器,基本上是这个框架,360急速、世界之窗急速浏览器 遨游3 搜狗3 QQ浏览器等一些山寨浏览器
4 trident gecko webkit 三核浏览器
最常见的是日本的 lunascape