浏览器内核总结

     一般来讲,浏览器分为外壳部分和渲染部分。外壳部分就是用户看得见摸得到的外观和操作界面;而渲染部分则包括了浏览器内核和JS引擎,其中JS引擎主要负责执行javascript语言实现网页上的动作,而内核则负责渲染网页,把数据变成用户可以看得见的网页内容。
     浏览器内核也就是浏览器所采用的渲染引擎“Rendering Engine”,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是前端人员需要在不同内核的浏览器中测试网页显示效果的原因。
内核分类:

Trident:
该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到IE11,也被普遍称作”IE内核”。
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)猎豹极轻浏览器,傲游浏览器(傲游1.x、2.x为IE内核,3.x为IE与Webkit双核)、百度浏览器(早期版本)、世界之窗浏览器(最初为IE内核,2013年采用Chrome IE内核)、2345浏览器、腾讯TT、淘宝浏览器、采编读浏览器、搜狗高速浏览器(1.x为Trident,2.0及以后版本为Trident Webkit)、阿云浏览器(早期版本)、瑞星安全浏览器、Slim Browser、 GreenBrowser、爱帆浏览器(12 之前版本)、115浏览器、155浏览器、闪游浏览器、N氧化碳浏览器、糖果浏览器、彩虹浏览器、瑞影浏览器、勇者无疆浏览器、114浏览器、蚂蚁浏览器、飞腾浏览器、速达浏览器、佐罗浏览器、海豚浏览器(iPhone/iPad/Android)、UC浏览器(Blink内核 Trident内核)等。其中部分浏览器的新版本是“双核”甚至是“多核”,其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做“高速浏览模式”或“极速模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。

Gecko:
Gecko的特点是代码完全公开,因为这是个开源内核,因此受到许多人的青睐,这也是Gecko内核虽然年轻但市场占有率能够迅速提高的重要原因。不过事实上,Gecko 内核的浏览器仍然还是Firefox (火狐) 用户最多,所以有时也会被称为Firefox内核。
Gecko内核常见的浏览器: Mozilla Firefox、Mozilla SeaMonkey、Epiphany(早期版本)、Flock(早期版本)、K-Meleon

Presto (已废弃):
Opera12.17及更早版本曾经采用的内核,现已停止开发并废弃。Opera现已改用Google Chrome的Blink内核。

Webkit:
Webkit(Safari内核,Chrome内核原型,开源):它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎。
WebKit内核常见的浏览器:傲游浏览器3、Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器。

Blink:
由Google和Opera Software基于Webkit引擎研发的排版引擎。2013年4月3日,谷歌在Chromium Blog上发表博客,称将与苹果的开源浏览器核心Webkit分道扬镳,在Chromium项目中研发Blink渲染引擎(即浏览器核心),内置于Chrome浏览器之中。

 

移动端浏览器内核总结
在移动端浏览器中,根据调查各种产品的市场占有率如下图:

UC浏览器
UC手机浏览器使用u2/3/4内核开发,本质是基于开源内核Webkit开发,在Webkit的基础上进行二次优化,并不能算是完全的自主内核。  

QQ浏览器
腾讯X5内核是基于Webki引擎,进行了深度优化和拓展,具有超强的云压缩加速能力,腾讯的产品不仅手机QQ浏览器,手机QQ和微信都用的X5内核,这要比原生内核要安全稳定,也不会出现卡顿,加载超时这些情况。所以用QQ浏览器看网页的体验要远远高于那种普通的搭载原生内核的APP的。

百度手机浏览器
T5内核是百度手机浏览器团队为用户打造的专属内核,该内核可对手机上网进行全面提速,优化了对JavaScript,HTML5的支持,优化WebAPP体验效果,提升浏览器对网页的兼容性,百度方面称这一版本不同于绝大多数Android手机浏览器直接调用系统自带的内核浏览器,而是通过移植最新的webkit浏览器内核。

360手机浏览器
中国著名互联网安全公司360发布360手机浏览器G5内核版,G5内核版是基于Chrome深度修改定制的,在大多浏览器尚且停留在使用webkit内核时,360后来居上,直接将目光投向了当前最先进的Chrome内核上

对于这几种浏览器的内核技术PK,可参考UC、QQ、360手机浏览器内核技术大比拼

     不管是UC的U3内核、QQ的X5内核、百度的T5内核、360的G5,都是在WebKit上二次开发的内核。这些浏览器都是基于Chromium开发的,所以有的说是采用了Chrome内核,而Chrome、Chromium的内核就是Webkit排版引擎,所以又有的说是采用了Webkit。

故在前端人员编写的移动端网页css文件时,主要考虑webkit内核就可以了。顺便再此推荐几款移动端网页调试工具DebugGap、browsersync


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql卸载重装总是卡在starting server这一选项

因为自己不小心把msyql给下载了,重装了一个5.7版本的可是在安装时卡在starting server这一部分,运行不下去。重写卸载重装仍然不成功,还是卡在starting server.无法继续下面的安装,查看日志也没有报错信息。 问题分析:…

箭头函数与普通函数的区别

箭头函数: let fun () > {console.log(lalalala); } 普通函数: function fun() {console.log(lalla); } 箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种只包含一个表达式,连{ ... }和return…

前端基础-HTML标记语言

阅读目录 一、 HTML标签与文档结构二、 HTML标签详细语法与注意点三、 HTML中标签分类四、 HTML注释 一、 HTML标签与文档结构 HTML作为一门标记语言,是通过各种各样的标签来标记网页内容的。我们学习HTML主要就是学习的HTML标签。 那什么是标签呢? #…

带有Gradle的Docker容器分为4个步骤

您是否需要通过Java Web应用程序创建Docker映像? 您在使用Gradle吗? 如果是这样,那么您距Docker nivana仅4步之遥。 对于此示例,我将使用一个简单的Spring Boot应用程序。 您可以在我的名为galoshe的Github存储库中找到所有源代码…

第七周

这个作业属于哪个课程C语言程序设计 (第三版)这个作业要求在哪里2019春季第七周作业我的课程目标学习指针的运用这个作业在哪个具体方面帮助我实现目标这个作业让我知道了指针实用性参考文献无一、2019春第七周作业(基础题) 7-2 自…

Java EE 8 –为更多设备提供更多应用程序

如果我不喜欢夏天的一件事,那就是事实是没有太多要分享或谈论的新闻。 谁决定将Java Day Tokyo置于这一年的无聊时间里,谁干得不错,就给我一个机会撰写有关新的和即将到来的Java EE 8规范的博客文章,其中包含了更多的思想和建议。…

Gradle入门:依赖管理

即使不是没有可能,创建没有任何外部依赖关系的现实应用程序也是一项挑战。 这就是为什么依赖性管理是每个软件项目中至关重要的部分的原因。 这篇博客文章描述了我们如何使用Gradle管理项目的依赖关系。 我们将学习配置已使用的存储库和所需的依赖项。 我们还将通过…

HTML5常用标签及特殊字符表

*http://html5doctor.com/nav*http://html5doctor.com/article*http://html5doctor.com/section*http://html5doctor.com/asidehttp://html5doctor.com/divhttp://html5doctor.com/figurehttp://html5doctor.com/outlinehttp://html5doctor.com/semantics p 和 span 的理解 p标…

【转载】使用Imaging组件加载GIF动画

Mobil手机加载GIF动态图像的方法有两种,一个就是使用GIF89a标准算法,另一个就是使用SDK自带的Imaging组件,这两种方法是很典型的手机图像处理技术的实践。使用Imaging组件加载GIF比使用标准算法处理高效的多,特别是在处理真彩GIF动…

【处理手记】Configuration system failed to initialize异常的另类原因

有个c#程序在某台电脑上,执行某个操作时,总是会报如图错误: 度娘一番,发现市面上常见的原因是配置文件中的特定节点的位置不对,或者配置文件损坏等等,而这个程序根本没有使用内置的配置文件方案&#xff0c…

学习《Building Applications with FME Objects》 之四 从数据集读取要素

FMEOReader可以访问任何支持格式的数据。 FMEOReader返回两类要素:schema(模式)要素和数据要素,模式要素用于描述数据集模型。每种支持的格式都有一个模式,一个模式要素是一类要素的数据模型,模式要素描述属…

使用Zapier将应用程序与Neo4j集成

最近,我被带往Zapier ,以便在系统之间完成一些轻量级的集成,以快速地进行概念验证。 最初是持怀疑态度的,我发现它确实可以节省时间,并将您从未集成过的系统所有部分捆绑在一起。 而且,这是人们集成他们使…

[silverlight基础]仿文字连接跑马灯效果-高手绕道

运行效果如下:分析示意图&#xff1a;代码:1<Canvas x:Name"a"Background"AliceBlue"MouseEnter"a_MouseEnter"MouseLeave"a_MouseLeave"Cursor"Hand">2<Canvas.Clip>3<RectangleGeometry RadiusX"0&qu…

Hibernate脏检查的剖析

介绍 持久性上下文使实体状态转换进入队列&#xff0c;该实体状态转换在刷新后转换为数据库语句。 对于托管实体&#xff0c;Hibernate可以代表我们自动检测传入的更改并安排SQL UPDATE。 这种机制称为自动脏检查 。 默认的脏检查策略 默认情况下&#xff0c;Hibernate检查所有…

软件工程第二次作业-VSTS单元测试

一、选择开发工具 开发工具选择 Visual studio 2017 社区版&#xff0c;开发语言为C 由于之前已经安装完毕&#xff0c;所以不上传安装过程&#xff0c;主界面如下&#xff1a; 二、练习自动单元测试 使用的测试工具是VSTS&#xff0c;具体步骤如下&#xff1a; 1.编写一个判断…

随便写写(8)

凌晨两点了&#xff0c;还在捣鼓虚拟机&#xff0c;教师节老师们吃不上饭&#xff0c;罪过可就大了。远程有点慢&#xff0c;还遇到个小问题&#xff0c;.netfx 3.5几次都没装上&#xff0c;看了下日志&#xff0c;好像是ghost里的.netfx 2.0有问题&#xff0c;想卸载之&#x…

识别JVM –比预期的要复杂

在Plumbr&#xff0c;我们花了最后一个月的时间来为将来的重大改进奠定基础。 此类构件之一是为JVM添加唯一标识符&#xff0c;以便将来自同一JVM的所有会话链接在一起。 虽然一开始看起来似乎很琐碎的任务&#xff0c;但是当查看JVM捆绑的jps命令的输出时&#xff0c;围绕该问…

React后台管理系统-品类的增加、修改和查看

1.页面 2.品类列表展示 let listBody this.state.list.map((category, index) > { return ( <tr key{index}> <td>{category.id}</td> <td>{category.name}</td> <td> <a className"opear" onClick{(e) > this.onUpda…

Vue node.js商城-购物车模块

一、渲染购物车列表页面 新建src/views/Cart.vue获取cartList购物车列表数据就可以在页面中渲染出该用户的购物车列表数据 data(){ return { cartList:[] // 购物车商品列表 } }, mounted:function(){ this.init(); }, methods:{ init(){ // 初始化商品数据 axios.get(/users/…

RxJava + Java8 + Java EE 7 + Arquillian =幸福

微服务是一种体系结构样式&#xff0c;其中每个服务都实现为一个独立的系统。 他们可以使用自己的持久性系统&#xff08;尽管不是强制性的&#xff09;&#xff0c;部署&#xff0c;语言等。 由于系统由一个以上的服务组成&#xff0c;因此每个服务将与其他服务通信&#xff…