谈谈浏览器兼容性问题
为什么浏览器会存在兼容问题?
同一浏览器,版本越老,存在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): 一开始就构建完整的功能,然后再针对低版本浏览器进行兼容
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!