本文介绍了常用浏览器内核与JavaScript引擎

一、浏览器内核

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还要高,对页面有较高的阅读性。
然而为了减少研发成本,Opera在2013年2月宣布放弃Presto,转而跟随Chrome使用WebKit分支的Chromium引擎作为自家浏览器核心引擎。
在Chrome与2013年推出Blink引擎(也是基于WebKit的分支)之后,Opera也紧跟其脚步表示将转而使用Blink作为浏览器核心引擎。
基于presto的内核的浏览器有:opera

二、JavaScript引擎

说完了排版引擎,下面来说说JavaScript引擎,顾名思义,js引擎就是用来执行javascript代码的, 简单的举个例子,一个计算圆周率的网页,排版引擎把页面的框架显示出来,最终的结果要用javascript来计算,所以javascript引擎的快慢也是对整个网页的速度有很大的影响,特别是最近 目前越来越多的类似webQQ、Gmail等大量复杂的基于javascript运算的网站,不同的执行引擎的速度的差别很显然易见。为甚么要单独拿出来说,因为还涉及到跑分,现在通俗的说那个浏览器更快,实际上是指执行javascript脚本的速度也就是javascript的渲染速度,而不是页面的载入速度,在网速允许的情况下,其实各浏览器的网页载入的速度差别不是很大,由于现在javascript在页面中的比重越来越大,越来越多的动态画面开始大量借助于javascript,比如现在主流的SNS、邮箱、网页游戏,所以javascript的渲染速度也是一个很重要的指标,javascript的渲染速度越快,动态页面的显示也就是越快,opera在javascript引擎的跑分上一直是遥遥领先的,一般来说在最新版本之间PK,opera基本上都会夺冠。

1、IE

chakra:查克拉,IE9启用的新的javascript引擎

2、Chrome

V8:开源,由Google丹麦开发,是Google Chrome的一部分。
注:我们上面提到Chrome是基于WebKit的分支,而WebKit又由渲染引擎“WebCore”和JS解释引擎“JSCore”组成,可能会让你搞不清V8和JSCore的关系。你可以这样理解——WebKit是一块主板,JSCore是一块可拆卸的内存条,谷歌实际上认为Webkit中的JSCore不够好,才自己搞了一个V8 JS引擎,这就是Chrome比Safari在某些JS测试中效率更高的原因。

3、Opera

Linear A:用于Opera 4.0~6.1版本。
Linear B:用于Opera 7.0~9.2版本。
Futhark:用于Opera 9.5~10.2版本。
Carakan:由Opera软件公司编写,自Opera10.50版本开始使用。

4、Firefox

SpiderMonkey:第一款JavaScript引擎,由Brendan Eich在Netscape Communications时编写,用于Mozilla Firefox 1.0~3.0版本。
Rhino:由Mozilla基金会管理,开放源代码,完全以Java编写。
TraceMonkey:基于实时编译的引擎,其中部份代码取自Tamarin引擎,用于Mozilla Firefox 3.5~3.6版本。
JaegerMonkey:德文Jäger原意为猎人,结合追踪和组合码技术大幅提高性能,部分技术借凿了V8、JavaScriptCore、WebKit:用于Mozilla Firefox 4.0以上版本。
IonMonkey:可以对JavaScript编译后的结果进行优化,用于Mozilla Firefox 18.0以上版本。
OdinMonkey:可以对asm.js进行优化,用于Mozilla Firefox 22.0以上版本。

5、其它

KJS:KDE的ECMAScript/JavaScript引擎,最初由Harri Porten开发,用于KDE项目的Konqueror网页浏览器中。
Narcissus:开放源代码,由Brendan Eich编写(他也参与编写了第一个SpiderMonkey)。
Tamarin:由Adobe Labs编写,Flash Player 9所使用的引擎。
Nitro(原名SquirrelFish):为Safari 4编写。

简介浏览器内核与JavaScript引擎的更多相关文章

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

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

  2. 浏览器内核、渲染引擎、JS引擎简介

    一.定义 浏览器内核分成两部分:渲染引擎和JS引擎. 由于JS引擎越来越独立,浏览器内核 就倾向于 单指 渲染引擎.  渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具.(说白了,就是按照 ...

  3. 浏览器内核与js引擎

    摘要: 面试一个大公司的时候问到了一个问题,让我谈谈主要的浏览器内核以及他们的特点,当时并没有详细的回答,回来之后自己在网上找了找资料,总结了下分享给大家. 简介: 在维基百科上是这样介绍浏览器内核的 ...

  4. 浏览器内核、排版引擎、js引擎

    [定义] 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核”.负责对网页语法的解释(如标准通用标记语 言下的一个应用HT ...

  5. 【repost】浏览器内核、渲染引擎、js引擎

    [1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firef ...

  6. 浏览器内核、渲染引擎、js引擎

    [1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具 [2]常见引擎 渲染引擎: fire ...

  7. 【转】浏览器内核、渲染引擎、js引擎

    [1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firef ...

  8. Rendering Engine 主流的浏览器内核(排版引擎、渲染引擎、解释引擎)有哪几种,分别的特点

    一.A web browser engine A rendering engine is software that draws text and images on the screen. The ...

  9. ECMA262,JavaScript引擎,浏览器

    相关阅读:https://www.cnblogs.com/970119449blog/p/8080133.html 相关阅读:https://www.jb51.net/article/75888.ht ...

随机推荐

  1. 如何用css实现"等高布局"。

    有时候为了让网页实现美观,在不知道高度的情况下,我们要用css实现等高布局效果,传统的方法, 我们可以用javascript实现,但是由于需求决定或者其他的情况下,我们只能用css实现,其方法主要是采 ...

  2. 云主机被拿去挖矿,cpu暴涨,tcp连接突增

    1.云主机被拿去挖矿,cpu暴涨,tcp连接突增 2.现象:top -c 3.然后我再查看pstree进程树 4.查找文件来源 ind  / -name '*suppoie*' 5. 然后删除 sup ...

  3. sql实时提交事务

    public void deleteByHbtlidAndDept(String class_id,String depart_id) { Session session = this.getHibe ...

  4. Luogu2164 SHOI2007 交通网络 期望、BFS、拓扑排序

    传送门 题目还算不难吧 首先我们枚举点$i$,将其他所有点到这个点的最短路求出来 然后我们在这一次建出的最短路$DAG$的反图上进行拓扑排序.假设我们算到了点$j$,点$j$的人流量为$t_j$,点$ ...

  5. redis 配置 架构 基础

    redis 官网  redis.io   io为某国家域名后缀 有redis各种版本. java 版本 又分各种工具 clients 下 RedisClient为图形化管理界面 Jedis 才是jav ...

  6. Luogu P2312 解方程

    据大佬的说法这种大力乱搞题出在除NOIp以外的任何比赛都是很好的然而就是被出在了NOIp 首先对于想直接上高精的同学,我还是祝你好运吧. 我们考虑一个十分显然的性质,若\(a=b\),则对于任一自然数 ...

  7. 面试2——java基础2

    11.MVC设计模型 mvc设计模型是一种使用model-view-controller(模型-视图-控制器)设计创建web应用程序的模式.是一种开发模式,好处是可以将界面和业务逻辑分离. model ...

  8. 【C#实现漫画算法系列】-判断 2 的乘方

    微信上关注了算法爱好者这个公众号,有一个漫画算法系列的文章生动形象,感觉特别好,给大家推荐一下(没收过广告费哦),原文链接:漫画算法系列.也看到了许多同学用不同的语言来实现算法,作为一枚C#资深爱好的 ...

  9. restfull环境搭建-helloword(三)

    原文地址:http://only81.iteye.com/blog/1689537 This section creates a CRUD (Create, Read, Update, Delete) ...

  10. 牛客训练赛25-A-最长区间

    https://www.nowcoder.com/acm/contest/158#question 这题问最长的严格连续递增序列的最长长度是多少? 最开始感觉这道题不可做,因为有1e5个点,还有1e5 ...