前端工程师手册

浏览器解析介绍

浏览器的引擎主要是指JavaScript解析引擎与排版引擎,不同浏览器具有不同的引擎。主要的浏览器分为: IE, firefox, chrome, safari.

IE——Trident核心

排版引擎

Trident

JS引擎

  • 早期(3~8)JScript
  • 近期(9~10+)Chakra

FF——Gecko核心

排版引擎

Gecko

JS引擎

  • 早期(1.0~3.0)SpiderMonkey:第一款JS引擎,由Brendan Eich在网景时编写。
  • (3.5~3.6)TraceMonkey:基于即时编译的引擎,其中部份程式码取自Tamarin引擎。
  • (4.0~至今)JagerMonkey:德文Jäger原意为猎人,结合追踪和组合码技术大幅提高效能,部分技术借凿了V8、JavaScriptCore、SquirrelFish。

Safari/Chrome--Webkit内核

排版引擎

  • (早期SF)KHTML引擎
  • (也不知啥时候至今,SF/GG均采用)WebCore引擎,由KHTML引擎衍生成WEBKIT自己构建的排版引擎

JS引擎

  • (早期SF)KJS引擎
  • (过后一段时间,SF采用)JavaScriptCore引擎
  • (4.0至今,SF)Nitro引擎(原名:SquirrelFish)
  • (GG)V8引擎:小熊认为V8是个好引擎,在JS执行效率上确实很强大。

Blink是一个由Google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息。这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。

Opera——Presto核心

在google推出Blink内核之后,opera表示后续会基于blink开发。

排版引擎

  • (早期4~6)Elektra引擎 , 再早点的资料(例如3.5)小熊没找到
  • (7+)Presto引擎:由Opera Software开发的浏览器排版引擎

JS引擎

  • (4.0~6.1)Linear A引擎
  • (7.0~9.2)Linear B引擎
  • (9.5~10.2)Futhark引擎
  • (10.5+)Carakan引擎

排版引擎

排版引擎包含了dtd模式规则和css引擎等。

参考资料