浏览器内核简介

Posted littlebanana

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器内核简介相关的知识,希望对你有一定的参考价值。

概述

  • 浏览器最重要或者说核心的部分是“Rendering Engine"( 排版引擎、渲染引擎、解释引擎 ),不过一般我们称之为"浏览器内核"。

  • 负责对网页语法的解释并渲染网页,将网页的代码转换为终于可见的页面形式,而且决定浏览器怎样显示网页的内容以及页面的格式信息。
  • 不同浏览器内核对网页编写语法的解释也有不同,故同一网页在不同内核浏览器中渲染效果也不尽同样,这就须要网页编写者在不同内核浏览器中测试网页显示的效果。
  • 所以就可以解决一个较为常见的问题——排版错位
    • 因为浏览器内核负责渲染网页内容的,进行排版。因此必定会出现排版错位等问题。
    • 造成此现象的原因有:站点本身编写不规范、浏览器本身的渲染不标准等等。

内核分类

  1. Trident内核(windows)

    • Trident(又称为MShtml),于1997年,IE4中首次被採用,是微软在Mosai代码的基础之上修改而来的,并沿用至IE11。通常被称为IE内核

    • 常见浏览器:IE、傲游、世界之窗浏览器、Avant、猎豹安全浏览器、360极速浏览器、百度浏览器等。

    • 版本号介绍

      版本 特点
      Trident II(IE5) 增进对CSS1.0的支持及对CSS2重大的变更。
      Trident III(IE5.5) 修正部分CSS的排版控制。
      Trident IV(IE6) 添加对文件类型描写叙述(Document Type Definition。DTD)的支持。
      Trident V(IE7) 修正很多CSS排版处理上的错误以及添加对PNG格式alpha通道(半透明)的支持。
      IE11++ 初步支持WebGL技术。
  2. Gecko( 跨平台 )

    • 特点: 代码全然公开,以C++编写的网页排版引擎。
    • 因此,其可开发程度非常高,全世界的程序猿(媛)都能够为其编写代码,添加功能。
    • 尽管最初的主要对象是Mozilla的衍生产品,如Netscape和Mozilla Firefox(火狐内核),如今已有非常多其他软件如今利用这个排版引擎。
    • 常见浏览器: Mozilla Firefox、Mozilla SeaMonkey。
  3. KHTML

    • 该引擎以C++编程语言所写,并以LGPL授权,支援大多数网页浏览标准。
    • KHTML拥有速度快捷的长处,但对错误语法的容忍度则比Mozilla产品所使用的Gecko引擎小。
    • 基于KHTML内核的引擎:WebKi、WebCore。
    • 常见浏览器: Embedded Konqueror ( PDA上的网页浏览器 )、 SkyKruzer( SkyOS上的网页浏览器 )
  4. WebKit(跨平台)

    • Webkit(Safari内核,Chrome内核原型。开源),是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。
    • Webkit引擎包括WebCore排版引擎JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,均是自由软件。
    • 眼下。webkit内核是公认的最快的网页浏览方式。
    • 常见浏览器: 傲游浏览器3、Apple Safari 、Symbian手机浏览器、android 默认浏览器。
  5. Chromium(跨平台)

    • Chromium 是 Google 的chrome浏览器背后的引擎,其目的是为了创建一个安全、稳定和快速的通用浏览器。
    • 在架构上使用了Apple发展出来的WebKit排版引擎、Safari的部份源码与Firefox的成果,并采用Google独家开发出的V8引擎以提升解译javascript的效率。
    • 常见浏览器: Google Chrome、Chromium、SRWare Iron、Comodo Dragon
  6. Presto(跨平台)

    • Presto是商业引擎,在Opera7中首次被使用,特点是渲染速度的优化达到了极致。然而代价是牺牲了网页的兼容性。
    • 此内核以前被Opera12.17及更早版本号所采用,现已停止开发并废弃。

以上是关于浏览器内核简介的主要内容,如果未能解决你的问题,请参考以下文章

主流浏览器的内核简介

五大浏览器-简介

Hack方式解决浏览器兼容

Tomcat学习四步走:内核集群参数及性能

JavaScript简介

HTML5基础-简介