在介绍各大浏览器的内核之前,我们先来了解一下什么是浏览器内核。

  所谓浏览器内核就是指浏览器最重要或者说核心的部分"Rendering Engine",译为"渲染引擎"。负责对网页语法的解析,比如HTML、JavaScript,并渲染到网页上。所以浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定这浏览器如何显示页面的内容和页面的格式信息。不同的浏览器内核对语法的解释也不相同,因此同一的网页在不同内核的浏览器显示的效果也会有差异。这也就是网页编写者在不同内核的浏览器中测试网页显示效果的原因。

内核分类:

 Trident  英 [ˈtraɪdnt]  美 [ˈtraɪdn:t]  

  Trident内核(代表:Internet Explorer):该内核是微软在Mosaic代码的基础之上修改而来的,也被成为IE内核。(在Windows 95年代一直到xp初期,IE借助着Windows一直处于"龙头"的地位)这使得Trident内核长期处于一家独大的状况。微软长期没有更新Trident内核,导致了Trident内核几乎与W3C标准脱节(2005年)、大量的bug和安全性问题没有及时解决,逐渐开发者和一些学者认为IE不安全,开始转向其他的浏览器,Firefox和Opera就是这个时候兴起的。

  Trident内核常见的浏览器有:IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0),遨游浏览器、世界之窗浏览器、Avant、腾讯TT等。

  现在部分浏览器的新版本是"双核"甚至是"多核",其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做"高速浏览模式",而Trident则是"兼容浏览模式",用户可以来回切换。

 Gecko  英 [ˈgekəʊ]  美 [ˈgekoʊ]

  Gecko内核(代表:Mozilla Firefox):这是一个开源式的内核,代码完全公开,因此其可开发程度很高。以C++编写的网页排版引擎。Gecko是最流行的排版引擎之一。

  Gecko内核常见的浏览器有:Mozilla Firefox、Mozilla SeaMonkey、Flock(早期版本)、K-Meleon等。

 Webkit  英: WebKit

  Webkit内核(代表:Safari、Chrome):它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。WebKit最初的代码来自KDE的KHTML和KJS(它们均为开放源代码,都是自由软件,在GPL协议下授权)。因此Webkit也是开源式内核,开发源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。

  Webkit内核常见的浏览器有:傲游浏览器3、Apple Safari(Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器。

 Presto  英 [ˈprestəʊ]  美 [ˈprestoʊ]

  Presto内核(代表:OperaPresto):Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。该款引擎的特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性。

  Opera现已改用Google Chrome的Blink内核。

 Blink  英 [blɪŋk]  美 [blɪŋk]

  Blink内核:该内核是一个由Google和Opera Software开发的浏览器排版引擎,实际上也是由webkit衍生而来。Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息,将与苹果的开源浏览器核心Webkit分道扬镳,在Chromium项目中研发Blink渲染引擎(即浏览器核心)。

各大浏览器内核介绍(Rendering Engine)的更多相关文章

  1. 各大浏览器内核(Rendering Engine)

    记得刚开始写网页的时候,听童鞋们说各大浏览器的内核,也是懵懵懂懂的,知一不知其二,今天特地查一下: 内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称 ...

  2. 几大主流浏览器内核(Rendering Engine)

    "浏览器内核",英文为"Rendering Engine",也叫"渲染引擎",作用是帮助浏览器来渲染网页的内容,将页面内容和排版代码转换为用 ...

  3. 各大浏览器内核特性及对应的Browserhacks举例

    1.浏览器内核指的是什么? 简化的浏览器=用户界面+渲染引擎+js解析引擎+数据存储+网络部件 而通常所说的浏览器内核指的是页面渲染引擎(rendering engine). 2.渲染引擎 The r ...

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

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

  5. 浏览器内核与BOM对象介绍

    BOM(Browser Object Model)对象介绍 我们都知道js有三部分组成,ECMAScript.DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其它浏览器也是风 ...

  6. 浏览器内核与js引擎

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

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

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

  8. 浏览器内核-Webkit

    关键字:浏览器内核,浏览器引擎,Browser,Webkit,Blink,Chromium. 本文简单介绍一下各种浏览器内核.着种介绍一下Webkit.顾名思义,浏览器内核就是浏览器的核心部分,也可以 ...

  9. 浏览器内核Trident/Gecko/WebKit/Presto

    “浏览器内核”主要指渲染引擎(Rendering Engine),负责解析网页语法(如HTML.JavaScript)并渲染.展示网页.因此,所谓的浏览器内核通常也就是指浏览器所采用的渲染引擎, 渲染 ...

随机推荐

  1. 第10章 Shell编程(2)_字符截取命令

    2. 字符截取命令 2.1 cut字段提取命令(grep提取行,cut提取列) (1)cut命令:#cut [选项] 文件名 选项: -f 列号:提取第几列: -d 分隔符:按照指定分隔符分割列,默认 ...

  2. React反模式 —— 如何不使用JSX地动态显示组件

    欢迎指导与讨论 : ) 前言 文章的最后能写出以 Modal.open( ) 这种调用形式,动态显示React对话框组件的写法(类似于ant design),同时涉及数据交互(数据能异步地返回给调用者 ...

  3. [LeetCode] Binary Tree Maximum Path Sum 求二叉树的最大路径和

    Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. ...

  4. [LeetCode] Set Matrix Zeroes 矩阵赋零

    Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. click ...

  5. 2016 daily

    2016.01.06 leetcode 切题数达到 200+,截止目前 137.虽然一年 63 题看似不多,但是 easy 的题目基本已经切完,质量 >> 数量(专注 leetcode,可 ...

  6. 酷酷的mapv

    做城市热力图的时候无意浏览到mapv强大的功能.比如地图上路线的汇聚效果,如下 <!DOCTYPE html> <html> <head> <meta cha ...

  7. 关于iOS特定设别推送(特定用户推送)【原】

    在这里,我就不哆嗦如何制作推送证书之类的了,网上一搜一大堆. 我们现在很多开发者的推送,就是集成第三方的推送SDK,然后通过第三方的推送平台帮我们进行推送.其实,这种推送(如JPush),一般只能广播 ...

  8. 链表反转leetcode206

    最近准备结束自己的科研生涯,准备要开始找工作了,准备在LEETCODE刷刷题...刷的前40题全部用python刷的,各种调包速度奇快,后被师哥告知这样没意义,于是准备开始回归C++,Python用的 ...

  9. ubuntu16.04配置py-faster-rcnn

    在ubuntu16.04下编译安装了py-faster-rcnn. 主要步骤包括:安装cuda/cudnn,换apt源,装开源显卡驱动,装caffe依赖的apt包和python包,下载py-faste ...

  10. 批量从jar包中提取pom.xml

    将非maven项目转换为maven项目,首要第一步就是提取原工程依赖jar里的pom.xml,拼成<dependency>节点 import java.io.File; import ja ...