博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从浏览器内核开始01
阅读量:5797 次
发布时间:2019-06-18

本文共 1803 字,大约阅读时间需要 6 分钟。

什么是浏览器内核?

浏览器最核心的部分应该是浏览器内核“Rendering Engine”,也称之为“渲染引擎”,其主要作用时负责对网页语法进行解释,并渲染网页。所以“渲染引擎”决定了浏览器如何显示网页网页内容及网页格式信息。不同的浏览器内核对网页编写的语法的解释也不同,导致的渲染效果可能不同,这就造成了兼容处理问题。

常见的浏览器内核有哪些呢?

1.Trident ['traɪdnt]

Trident(IE内核):该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到IE11,也被普遍称作”IE内核”。由于IE本身的“垄断性”(想起了一句话:让一个人失败,就让其膨胀,哈哈哈),而使得Trident内核长时间未能更新,进而导致与W3C标准脱节和暴露出安全性问题。

2011年,从ie 9开始,Trident开始支持HTML5和CSS 3。

IE从版本11开始,初步支持WebGL技术。IE8的JavaScript引擎是Jscript,IE9开始用Chakra。
Trident内核的常见浏览器有:

  • IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);
  • 360安全浏览器(1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink);
  • 360极速浏览器(7.5之前为Trident+Webkit,7.5为Trident+Blink);
  • 猎豹安全浏览器(1.0-4.2版本为Trident+Webkit,4.3及以后版本为Trident+Blink);
  • UC浏览器(Webkit内核+Trident内核);

2.Gecko

Gecko(Firefox内核),Gecko的特点是代码完全公开,也是一个跨平台内核;

JavaScript引擎是:SpiderMonkey(1.0-3.0)/ TraceMonkey(3.5-3.6)/ JaegerMonkey(4.0-)。

3.Presto

Presto(Opera前内核) (已废弃): Opera12.17及更早版本曾经采用的内核,该款引擎的特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性。Opera现已改用Google Chrome的Blink内核。

4.Webkit

Webkit(Safari内核,Chrome内核原型,开源):它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。

Webkit引擎包含了WebCode排版引擎和JavaScriptCode解析引擎,分别是从KDE的KHTML和KJS衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统开发。
Chrome、360极速浏览器以及搜狗高速浏览器也使用Webkit作为内核(在脚本理解方面,Chorome使用自己研发的V8引擎)。

5.Blink

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

以上提到的引擎为排版引擎,浏览器还需搭载js引擎。Chromium就是Blink排版引擎+V8 js引擎。Chromium是由Google主导开发的网页浏览器。

目前国内浏览器使用情况认识

浏览器 内核

Chrom (Blink)
IE (Trident)
Edge (EdgeHTML (Trident的一个分支))
Firefox (Gecko)
Safari (WebKit)
Opera (Blink)
360安全浏览器 (Trident + Chromium)
360极速浏览器 (Trident + Chromium)
QQ浏览器 (Trident + Chromium)
搜狗浏览器 (Trident + Chromium)
百度浏览器 (Trident + Chromium)
2345浏览器 (Trident + Chromium)
UC浏览器 (Trident + Chromium)

转载地址:http://wisfx.baihongyu.com/

你可能感兴趣的文章
MYSQL 基本SQL语句
查看>>
Codeforces 451E Devu and Flowers(容斥原理)
查看>>
P2P行业专业术语(最全)
查看>>
C#中的Marshal
查看>>
网站发的文章有收录 但是没有排名怎么处理
查看>>
linux命令:ls
查看>>
Using RequireJS in AngularJS Applications
查看>>
hdu 2444(二分图最大匹配)
查看>>
shell编程笔记六:实现ll命令
查看>>
【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究...
查看>>
[nodejs] nodejs开发个人博客(五)分配数据
查看>>
《Linux内核修炼之道》 之 高效学习Linux内核
查看>>
Java数据持久层框架 MyBatis之API学习九(SQL语句构建器详解)
查看>>
30分钟Git命令“从入门到放弃”
查看>>
nginx : TCP代理和负载均衡的stream模块
查看>>
MYSQL数据库间同步数据
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
行为型模式:观察者模式
查看>>
让前端小姐姐愉快地开发表单
查看>>