最近,问了很多有关兼容性问题的解决示例,大部分人回答都是非常片面,甚至可以说是他们基本上没有碰到什么兼容性问题。
对于很多用jQuery的前端来说,基本上很难在js上碰到兼容问题,大部分如dom操作,事件等之类兼容问题,jQuery都能很好的解决。
那为啥现在的趋势是“去jQuery”化呢?
jQuery开发容易出现的问题
- 容易出现代码结构混乱(当然,有良好模块化编程习惯的还好)
- 对DOM的大量操作,消耗浏览器性能
兼容性问题的凸显
为此,vue,react之类的模块化的框架风生水起。
当然,你也可以在这些框架里加入jQuery,但是,这些框架都是用数据操作视图,而不是直接的对DOM进行操作。
因此,jQuery在此处的用处也就不见得那么大了。
css兼容问题
- css3动画等需要加浏览器前缀的--可以用打包工具autoprefixer解决
- Android,ios版本不同,对一些新出来的css属性的兼容性,如rem、em、vh、vw等
- ios手机特有的一些问题:对position:fix的支持效果很差、对overflow:auto的支持效果很差,需要加其他css才能解决等
- 不同手机型号的兼容问题:魅族手机,oppo手机等之间兼容也有差异,比如魅族不支持0.5px
js兼容问题
- 对于pc端DOM事件的兼容性,太多了。。。。。
- 一些新的api的出现,导致的一些兼容问题。如classList-IE基本不支持该属性,但是它操作css非常方便,完全可以代替jquey的addClass等函数。关于此类api的兼容新,可以从caniuse.com中查看浏览器兼容性
当然,浏览器一统天下的日子,可能还很长,问题也会一直出现,解决兼容问题,耐得住烦,积极总结经验,才是王道
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。