客户端浏览器兼容性探讨

简介: 客户端浏览器兼容性探讨

全球五大内核提供商

内核

代表浏览器

是否更新状态

Blink

Chrome

Webkit

Safari

Gecko

Firefox

Presto

Opera

Trident

IE

极缓


内核及浏览器介绍

Blink是基于webkit再开发的内核,也是公认的最强浏览器内核,相对于原有的webkit它的优势也级为明显

  • 简洁:对引擎内部而言,未添加多余的解释,对前沿及时的接受和版本迭代速度最快
  • 稳定:对应代码解译,很少会遇到其崩溃或者跑偏的情况
  • 可扩展性高:这方面主要体现在插件上,提供了很多人性化的定制接口


Ubuntu是一个老牌浏览器内核,开发程度高切非常稳定,可以说Ubuntu是最稳定的内核,但相对来说Ubuntu对于复杂网页的加载有效率问题


Webkit被应用在许多浏览器上,其中最为出色的就是Safari,毕竟是原厂打造,安全稳定,但其主要功能集中在mac上,不受IE、Firefox等内核的约束,也就是说,不考虑其他浏览器限制、解译,较为独立,而其他浏览器厂商如果集成webkit引擎时,或多或少都会有功能缺失问题,使用起来极为不便


Trident内核主要使用在我们在WIndows系统中的IE浏览器中,由windwos系统捆绑销售


Presto内核特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性,目前由于市场选择问题,PC端Presto已废弃,仅存于市场上在的应用只在部分手机平台上

其他浏览器

除以上各大内核厂商提供给的浏览器外,还要很多有不是市场占有率的浏览器,首先按照市场规律来看最常用的内核就是Webkit。

Blink是从 WebKit 直接复制出一个版本出来,然后将与chromium 无关的 Ports 全部移除掉,将代码结构重新整理,就目前而言,很多Blink 的渲染和WebKit 是一样,但是,以后两者将各自走不同的路(WebKit当年也是以同样的方式来从KHTML中复制出来)BLINK内核就是谷歌公司,针对WEBKIT内核,做的修订和精简。去掉了几十万行的没用的复杂代码,让效率更高。然后针对未来的网页格式,做了进一步优化,和效率提升的处理。所以BLINK内核可以看成是WEBKIT的精简高效强化版。

Blink不再是WebKit

目前市场占有率接近一半的Chrome浏览器指的是Chromium稳定版,而类似360和QQ这样的浏览器也是基于Chromium的再开发。这里特别备注下微软最新版本的Edge同样基于Chromium,同样未来两者很可能各自走不同的路。

兼容性优先级

就目前市场占有率的情况来看应该优先支持Chromium(Chrome浏览器,Blink内核),Chrome也是开发人员在开发时被要求使用的浏览器,而对于360、QQ这样的多核浏览器,在框架制定时,添加默认解译内核meta标签,尽可能的使用Blink内核(webkit内核);

对于Webkit、Gecko内核的浏览器(Safari、firefox)充分考虑任务兼容问题,对开发人员明确提出开发时需要的兼容性,如果在开发中发现部分功能无法同时满足,就兼容性方面需要与PD、UED、测试沟通商议解决方案(Safari需mac设备);

对于360、QQ这样在浏览器解译上进行了部分修改,无法完全兼容的情况,需测试人员在测试中提出,并根据任务量迭代安排;

对于Presto、Trident不建议考虑兼容问题,Opera已经放弃Presto内核,而根据微软的官方说法,“Microsoft 建议使用 Microsoft Edge 作为默认浏览器并且支持 Internet Explorer 11 实现后向兼容性”

相关文章
|
8月前
|
Web App开发 人工智能 安全
LemurBrowser狐猴浏览器:支持插件扩展的移动端浏览器
狐猴浏览器是浏览器新标签页插件Wetab提供的支持在移动端安装插件,内置免费AI工具助手的新一代移动端浏览器,像Infinity/Wetab 一样简洁优雅好用的Tab浏览器。
191 0
LemurBrowser狐猴浏览器:支持插件扩展的移动端浏览器
|
6月前
|
Web App开发 移动开发 前端开发
如何解决不同浏览器的样式兼容性问题?
如何解决不同浏览器的样式兼容性问题?
111 0
|
3月前
|
前端开发 JavaScript API
如何让 Websocket兼容低版本浏览器
如何让 Websocket兼容低版本浏览器
57 2
|
10月前
|
缓存 移动开发 编解码
和我一起来看看浏览器的异步实现到底有哪些方式
前端为何会有异步这一说法,是因为前端的代码是在浏览器中运行的,而浏览器是单线程的,前端的代码是在主线程中运行的,如果有耗时的操作,就会阻塞主线程,导致页面卡顿,所以就有了异步这一说法。
236 0
|
10月前
|
Web App开发 自然语言处理 JavaScript
浏览器工作原理
本文从多个维度详细分析浏览器的核心工作原理。我们将讨论`导航`、`获取数据`、`解析`和`渲染`等核心步骤,并希望能使你对这些概念更清晰
227 1
|
JavaScript 前端开发 API
浏览器原理 27 # WebComponent
浏览器原理 27 # WebComponent
129 0
浏览器原理 27 # WebComponent
|
存储 Web App开发 缓存
浏览器工作原理总结-页面渲染篇
在前段时间的面试中,许多候选人对于浏览器中代码的执行过程都不甚了解,多数是只停留在知道个大概。最近正好在极客时间上拜读了大神的浏览器工作原理,读完对浏览器工作原理有种豁然开朗之感,趁有空余时间就把自己对这块的理解整理了一下,希望对各位小伙伴能有所帮助吧。
|
JavaScript 流计算
360浏览器兼容问题
360浏览器兼容问题
336 0
|
Web App开发 缓存 前端开发
浏览器工作原理和实践(一)——浏览器
  《浏览器工作原理与实践》是极客时间上的一个浏览器学习系列,在学习之后特在此做记录和总结。
浏览器工作原理和实践(一)——浏览器