谈谈浏览器兼容性问题

为何浏览器会存在兼容问题?

  • 同一浏览器,版本越老,存在bug越多,相对于版本越新的浏览器,对新属性和标签、新特性支持越少。
  • 不一样浏览器,核心技术不一样,标准不一样,实现方式也有差别,最终呈现出来在大众面前的效果也是会有差别。

处理兼容问题的思路:

1. 要不要作?

  • 产品的角度(产品的受众、受众的浏览器比例、效果优先仍是基本功能优先)。
  • 成本的角度 (有无必要作某件事)。

2. 作到什么程度?

  • 让哪些浏览器支持哪些效果。

3. 如何作?

  • 根据兼容需求选择技术框架/库(如jquery 1.x.x)。
  • 根据兼容需求选择兼容工具:html5shiv、Respond.js、CSS Reset、normalize.css、Modernizr.js、 postcss。
  • 条件注释、CSS Hack、js 能力检测作一些修补。

渐进加强和优雅降级

  • 渐进加强(progressive enhancement): 针对低版本浏览器进行构建页面,保证最基本的功能,而后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验
  • 优雅降级(graceful degradation): 一开始就构建完整的功能,而后再针对低版本浏览器进行兼容
相关文章
相关标签/搜索