web开发就不得不面对浏览器兼容性问题,特别是ie的兼容问题。在前端代码中经常要处理一些兼容格式,为了解决这个问题网上找了找识别浏览器版本的方法。
常规js方法 找到一个方法,还不错,可以识别出各种浏览器的版本:
/** * 获取浏览器版本 * @returns {array} */function browserversion() { ua = navigator.useragent; ua = ua.tolocalelowercase(); if (ua.match(/msie/) != null || ua.match(/trident/) != null) { browsertype = ie; //哈哈,现在可以检测ie11.0了! browserversion = ua.match(/msie ([\d.]+)/) != null ? ua.match(/msie ([\d.]+)/)[1] : ua.match(/rv:([\d.]+)/)[1]; } else if (ua.match(/firefox/) != null) { browsertype = 火狐; } else if (ua.match(/opera/) != null) { browsertype = 欧朋; } else if (ua.match(/chrome/) != null) { browsertype = 谷歌; } else if (ua.match(/safari/) != null) { browsertype = safari; } var arr = new array(browsertype, browserversion); return arr;}
在代码中直接使用也比较简单了。
ie的条件注释 在一次偶然的机会看网金社的前端代码,发现一段很特别的注释:
这个貌似有点神奇,看代码的意思是一个跳转,但显示是注释的语句,于是抱着试一试的态度将浏览器切换到ie低版本,果然是有效果的。赶紧网上开始找这方面的资料,有一些用法说明,看来确实是可行的方案。
条件注释属性:
gt : greater than,选择条件版本以上版本,不包含条件版本
lt : less than,选择条件版本以下版本,不包含条件版本
gte : greater than or equal,选择条件版本以上版本,包含条件版本
lte : less than or equal,选择条件版本以下版本,包含条件版本
! : 选择条件版本以外所有版本,无论高低
用法:
用于非 ie
参考: http://baike.sogou.com/v66165627.htm