浏览器兼容可以从两个大的方面考虑
- css兼容
- javaScript兼容 其中javaScript兼容又可以分为ECMAScript语法兼容和浏览器API兼容
css兼容
css兼容主要是一些新的属性不被支持,有的可以通过添加前缀解决!不能通过前缀解决的就需要使用别的css属性模拟!关于css属性被什么浏览器以及具体浏览器的哪个版本兼容可以查看 can i use。
javaScript兼容
ECMAScript兼容
如果想使用新的es6的语法和特性,可以借助babel进行转码,根据自己需要适配浏览器,转码为合适的语言版本。
浏览器api的兼容
针对浏览器api方面的兼容,需要使用能力检测,即检测浏览器是否支持相关api,从而使用判断语句进行兼容处理,例如:
// 兼容现代浏览器和ie8,9的事件绑定
if(document.addEventListener){
document.addEventListener('click', function(){...}, false)
}else{
document.attachEvent('click', function(){...})
}