客户端浏览器兼容性探讨

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

全球五大内核提供商

内核

代表浏览器

是否更新状态

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 实现后向兼容性”

相关文章
|
JSON JavaScript 前端开发
基于promise用于浏览器和node.js的http客户端的axios
基于promise用于浏览器和node.js的http客户端的axios
80 0
|
5月前
|
Web App开发
Chrome——谷歌浏览器chrome如何模拟其他客户端
Chrome——谷歌浏览器chrome如何模拟其他客户端
126 1
Chrome——谷歌浏览器chrome如何模拟其他客户端
|
8月前
|
存储 JSON 安全
[浏览器系列] : 客户端本地存储
[浏览器系列] : 客户端本地存储
|
8月前
|
人工智能 搜索推荐 Linux
一个集 AI + 工具 + 插件 + 社区为一体的Arc 浏览器风格AI客户端
一个集 AI + 工具 + 插件 + 社区为一体的Arc 浏览器风格AI客户端
296 0
|
存储 缓存 UED
客户端浏览器的缓存问题排查
客户端浏览器的缓存问题排查
169 0
|
大数据 C++ Python
【浏览器&exe桌面应用】用PyInstaller cefpython打包exe,制作自己的浏览器;查询机客户端,大屏展示客户端,大数据展示客户端
【浏览器&exe桌面应用】用PyInstaller cefpython打包exe,制作自己的浏览器;查询机客户端,大屏展示客户端,大数据展示客户端
302 0
【浏览器&exe桌面应用】用PyInstaller cefpython打包exe,制作自己的浏览器;查询机客户端,大屏展示客户端,大数据展示客户端
|
存储 Web App开发 SQL
浏览器之客户端存储
1. cookie 2. Web Storage a. sessionStorage b. localStorage 3. IndexDB
159 0
|
移动开发 JavaScript 前端开发
【浏览器&exe桌面应用】用nw.js &Electron -HTML和JavaScript制作exe桌面程序-打造浏览器,查询机客户端,大屏展示客户端
【浏览器&exe桌面应用】用nw.js &Electron -HTML和JavaScript制作exe桌面程序-打造浏览器,查询机客户端,大屏展示客户端
193 0
|
Web App开发 Linux Android开发
小技巧 - Chrome 浏览器绕过“请在微信客户端打开链接”
小技巧 - Chrome 浏览器绕过“请在微信客户端打开链接”
2680 0
小技巧 - Chrome 浏览器绕过“请在微信客户端打开链接”
根据url下载文件为zip格式文件到客户端并解决火狐浏览器中文乱码问题
根据文件的远程路径将多文件合并成zip压缩包,然后下载到客户端,并解决火狐浏览器中文文件名乱码问题,下面是代码。
325 0