我们的浏览器厂商很多,我们在日常生活中就常用到谷歌、safari、火狐、qq等浏览器。
不同的浏览器对我们的语言标准规范支持的程度不一致,所以就导致有些样式/交互 在不同浏览器的表现不一样。比如同一个样式属性,在A浏览器支持,在B浏览器不支持。
浏览器兼容性从表现形式上可分为样式兼容性(css)和交互兼容性(javascript)。
兼容性问题一般有2种解决方案,优雅降级和渐进增强。
在没有好的解决方案时,一般是采用优雅降级的方案,
举个例子:比如我们现在的很多UI框架里面使用的js属性,IE8及以下浏览器是不支持的。
如果用户使用IE及以下浏览器打开,我们一般直接弹框提示:请使用IE8以上或使用谷歌、safari、火狐等主流浏览器打开。即让用户换一种浏览器来使用。
使用另一种解决方案来达到一样效果的方式,就是渐进增强。
比如有一个样式属性,在safari浏览器不支持,那么我们可以通过别的属性或结构来达到一样的视觉表现效果。
浏览器兼容性从设备来分,又可以分为pc端兼容性和移动端兼容性。
PC端和移动端的操作系统不一样,浏览器内核也有一定的区别。
PC端的兼容性只受windows和mac操作系统和固定的几个浏览器影响,
但是移动端还会被不同的手机厂商所影响,因为不同的手机厂商,手机内嵌的浏览器不一样,所以移动端需要解决的兼容性问题更多。
产品在提需求时,可以关注下这个产品的目标用户是哪些,目标用户使用的主流浏览器(pc端)或者主流机型(移动端)有哪些,
在写需求时建议写明需要兼容哪些机型(移动端),哪些浏览器(pc端),在需求验收时做好兼容性的功能验收。
--- end ----