浏览器内核信息整理
21世纪,浏览器杂七杂八,足以让你眼花缭乱。我们在做页面兼容性测试的时候,面对众多的浏览器该如何调试我们的web页面?其实,如果你了解了浏览器的内核,那么就不会觉得头疼。因为它们的内核并不是和他的数量一样那么多,常见的几类内核可以归为:Trident、Gecko、WebKit、Presto 四种。
至于众多的浏览器,他们只不过是:{不同浏览器的外壳+内核=浏览器}。外壳指的是浏览器界面上的菜单,工具栏,那些让用户操作的。而他们都是调用内核来实现各种功能,可见内核才是浏览器的核心。所以,我们只要了解一款浏览器的核心引擎是什么,然后就可以对其进行兼容性测试,不会觉得无从下手。
浏览器的内核又可以分为:渲染引擎和js引擎:
渲染引擎:layout engineer或者Rendering Engine,它们负责页面内容的解析和渲染,也就是访问一个网站,从页面空白到页面加载完成,页面有朴实到排版完整的过程。它会解析页面的标签,载入css,然后计算页面显示方式。这理解是有不同的浏览器内核,他们对网页的词法的解析也有所不同,所以就出现了显示差异,就是我们前端开发这头疼的兼容性问题。
js引擎:对页面脚本(javascript)语言的解析,实现页面一些动态效果。
四种内核的简介:
1、Trident:微软开发的引擎,其产品IE产品都是它驱动,也有很多其他浏览器也用它做内核。因为微软ie一直是老大地位,有点自我发展,对w3c的标准支持没那么好。存在不少bug,最初更新很少,导致ie5+,ie6等万恶的浏览器存在,让不少前端开发经验不多的同学无比的鄙视之!不错从ie8+开始,ie又慢慢的强大起来了,期待ie10...
2、Gecko:开源的渲染引擎,有C++编写,功能强大,功能强大、丰富,可以支持很多复杂网页效果和浏览器扩展接口,FireFox就是代表,对w3c标准支持很好,开发和调试都很强大,就是启动速度不太给力;
3、WebKit:苹果公司基于KHTML开发的,对网页的解析比较快,仅此于Presto,但是容错比较差,不标准的网页无法正常显示。用它做核心开发的浏览器代表是Safari,Chrome;
4、Presto:Opera Software公司开始的,是被大家公认为最快的渲染引擎。处理JS脚本等脚本语言时,会比其他的内核快3倍左右,但是快也存在一些问题,就是丢掉了一些网页兼容性;
现在,估计你对浏览器有一定的认识,对你以后做浏览器兼容问题应该有所帮助。不同的内核就有不同的渲染引擎,对页面的解析也有所不同,这就是造成页面差异的原因。但是如果我们在布局的时候,尽量用精简的html结构,合理的配合使用css,就可以大大的减少兼容行问题,从而加快我们的开发效率。
目前浏览器市场的占有率:
![](http://www.wmhfly.com/uploads/ckfinder/userfiles/images/browsers-aly.jpg)