目前市面上浏览器版本五花八门,也有各种各样的兼容性问题。那么统一更新到最新浏览器(假设)如chrome,真的可以解决兼容性问题吗?我想有很大部分原因还是因为操作系统版本的原因吧?毕竟XP还有很大的市场。
目前市面上浏览器版本五花八门,也有各种各样的兼容性问题。那么统一更新到最新浏览器(假设)如chrome,真的可以解决兼容性问题吗?我想有很大部分原因还是因为操作系统版本的原因吧?毕竟XP还有很大的市场。
如果是大一统,无论是用 Webkit 内核还是 Trident 内核还是什么内核,都不存在兼容问题了。只有不同才需要兼容,大家都统一标准,哪还需要什么兼容。
目前浏览器兼容问题,不同系统有影响,但影响不是怎么大。比如说 HTTPS 证书兼容性问题,IE浏览器受 Winows 系统版本影响,但 Firefox 和 Chrome 就不受影响。
其实现在市场上的浏览器五花八门影响并不大,因为国产浏览器几乎都没有自己的内核,都是用 Chromium 项目的内核(极速模式)和 IE 内核(IE模式),而且还允许通过 meta 标签令其默认使用 Chromium 内核。
基本上只要兼容了 Chrome 浏览器,就兼容了国内几乎所有主要的浏览器。当然了,这里并不是指跟 Chrome 同步更新,各国产浏览器内核更新时间不一样,有的比较慢,但是只要不是追求最新的特性,基本上可以说是同步。
强制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"/>
参考资料:
百度经验-通过meta代码强制浏览器使用WebKit内核
360浏览器-浏览器内核控制标签meta说明
QQ浏览器-meta元素检测 识别内核 规则介绍
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.3k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答798 阅读
统一更新到最新的 Chrome 并不能”解决兼容性问题“。因为所谓兼容性问题并不是指“别人都跟 Chrome 不一样”,而是有一个统一的规范,但各个浏览器实现不同,Chrome 也是其中之一,并且 Chrome 也并没有实现全部最新的规范。
要在前端开发中尽量解决兼容问题,可以使用一些成熟的工具,比如用于处理 js 的
babel
(babel-preset-env
) 和用于处理 css 的postcss
(autoprefixer
)。它们的最新版本已经支持只需指定想要兼容的浏览器版本,就可以自动将你的代码为这些浏览器做兼容。建议你了解一下。如果你真的想要用户们“统一更新到最新的 Chrome",你可以了解下 Eletron,用它来开发的前端项目都内置了最新版本的 Chrome,因此开发中可以完全针对 Chrome 环境来开发。
希望对你有帮助。