浏览器内核的相关概念

1,675 阅读3分钟

常见浏览器所使用的内核:百度统计 - 浏览器市场份额

  1. IE浏览器(Internet explorer)内核:Trident内核,也是俗称的IE内核;

  2. 谷歌浏览器(Chrome)内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核,是webkit的分支内核;

  3. 火狐浏览器(Firefox)内核:Gecko内核,俗称Firefox内核;

  4. 苹果浏览器(Safari)内核:Webkit内核,Safari才是Webkit内核的鼻祖;

  5. 欧朋浏览器(Opera)内核:最初是自己的Presto内核,后来是Webkit,现在跟Chrome一样是使用webkit的分支内核Blink

    以上便是IT江湖上人称的:五大浏览器,四大内核

  6. 搜狗、遨游、QQ浏览器内核、360浏览器、猎豹浏览器内核:Trident(兼容模式)+Webkit(高速模式)双内核;

  7. ……

单核浏览器和双核浏览器相关知识:

  1. 浏览器业界尚未有关于“双核”的公认标准,通常指含有两个内核,其一是IE兼容内核,其二是非IE极速内核。

    搜狗、遨游、QQ浏览器内核、360浏览器、猎豹浏览器内核:Trident(兼容模式)+Webkit(高速模式)双内核;

  2. 双核浏览器一般是指可以在两种内核之间进行切换使用,而不是指一个页面由两个内核同时处理。
  3. 双核浏览器并不一定就比单核浏览器快。
  4. 一些双核浏览器在切换内核时很可能会出现Session等登录信息丢失的问题,导致需要重新登录;有些内核功能也无法通用。

原生浏览器与套壳浏览器:

  1. 原生浏览器:拥有完整独立内核的浏览器,如火狐、IE、谷歌(Chrome)、Safari、Opera等
  2. 套壳浏览器:基于开源浏览器内核进行相应功能精简,如UC浏览器、QQ浏览器、360浏览器、微信内置浏览器、搜狗浏览器、猎豹浏览器、遨游浏览器……,大多是基于开源内核Chromium

浏览器内核主要包括三个技术分支:排版渲染引擎、 JavaScript引擎,以及其他。

不同内核的浏览器有兼容性,相同内核的不同浏览器也有着兼容性,其排版渲染引擎和avaScript引擎都有着差异,归根结底,因为历史原因而导致没有“统一战线”,各玩各的,各自“大战”。

使用Meta标签设置浏览器使用的内核渲染

因为国产主流浏览器现在大都为双核浏览器,考虑到兼容模式,我们可以通过设置Meta属性强制切换浏览器内核

  1. 页面默认使用极内速核: <meta name="renderer" content="webkit">

  2. 页面默认使用ie兼容内核: <meta name="renderer" content="ie-comp">

  3. 页面默认使用ie标准內核: <meta name="renderer" content="ie-stand">

  4. IE中指定使用内核版本:<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />

  • 实际应用:在<head>内部添加以下代码, 强制浏览器使用WebKit内核极速模式
<!-- 强制Chromium内核,作用于360浏览器、QQ浏览器等国产双核浏览器 -->
<meta name="renderer" content="webkit"/>
 
<!-- 强制Chromium内核,作用于其他双核浏览器 -->
<meta name="force-rendering" content="webkit"/>
 
<!-- 如果有安装 Google Chrome Frame 插件则强制为Chromium内核,否则强制本机支持的最高版本IE内核,作用于IE浏览器 -->
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>