1.定义
浏览器内核又可以分成两部分:渲染引擎(layout engineer
或者RenderingEngine
)和JS
引擎。
渲染引擎功能作用
渲染引擎,负责对网页语法的解释(如HTML、JavaScript
)并渲染网页。所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。
当前主流渲染引擎内核:
firefox
使用gecko
引擎
IE使用Trident
引擎
2015年微软推出自己新的浏览器,原名叫斯巴达,后改名edge
,使用edge
引擎
opera
最早使用Presto
引擎,后来弃用
chrome\safari\opera
使用webkit
引擎
13年chrome
和opera
开始使用Blink
引擎
JS引擎功能作用
最开始渲染引擎和js
引擎并没有区分的很明确,后来JS
引擎越来越独立,内核就倾向于只指渲染引擎。JavaScript
最初由网景公司的Brendan Eich
设计,是一种动态、弱类型、基于原型的语言,内置支持类。以它为基础,制定了ECMAScript
标准。javascript
在浏览器的实现中还必须含有DOM
和BOM
。Web
浏览器一般使用公共API
来创建主机对象来负责将DOM
对象反射进JavaScript
。JS
引擎负责对JavaScript
进行解释、编译和执行,以使网页达到一些动态的效果。
主要的网页浏览器JavaScript
引擎:
1) Mozilla
Rhino
,由Mozilla
基金会管理,开放源代码,完全以Java编写。
SpiderMonkey
,第一款JavaScript
引擎,由BrendanEich
在NetscapeCommunications
时编写,用于Mozilla Firefox1.0~3.0
版本。
TraceMonkey
,基于实时编译的引擎,其中部份代码取自Tamarin
引擎,用于 Mozilla Firefox 3.5~3.6
版本。
JägerMonkey,(JägerMonkey
,也有人拼写成JagerMonkey
)德文Jäger
原意为猎人,结合追踪和组合码技术大幅提高效能,部分技术借凿了V8、JavaScriptCore、WebKit
,用于Mozilla Firefox 4.0
以上版本。
2)Google
V8
,开放源代码,由Google丹麦开发,是Google Chrome
的一部分。
3)微软
Chakra
,中文译名为查克拉,用于Internet Explorer 9
。
JScript
是由微软公司开发的活动脚本语言,是微软对ECMAScript
规范的实现.IE 3.0-IE8.0
使用的JS引擎
4)其它
o KJS,KDE的ECMAScript/JavaScript
引擎,最初由Harri Porten
开发,用于KDE项目的 Konqueror
网页浏览器中。
o Narcissus,开放源代码,由BrendanEich编写(他也参与编写了第一个SpiderMonkey
)。
o Tamarin,由AdobeLabs编写,Flash Player 9所使用的引擎。
o Nitro(原名SquirrelFish),为Safari 4编写。
o Carakan
,由Opera软件公司编写,自Opera10.50
版本开始使用。