前两天修改一个项目BUG,主要是涉及浏览器兼容问题。要求结果是:如果是 IE 那么不能低于IE9,火狐不能低于 Firefox35。否则页面可能会出现排版问题或者部分功能不能正常显示。
以下是处理方法。
$(function(){
// 得到浏览器的版本信息 当用户使用非"IE9及以上、Firefox35及以上"版本登录系统时,给予一个提示。
// 火狐 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0
// 谷歌 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36
// IE Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)
// IE11 Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; rv:11.0) like Gecko
var browserInfo = window.navigator.userAgent; // 得到浏览器信息
var browserVersion = "";
var versionInfo1 = browserInfo.search("Firefox"); // 火狐 得到 "Firefox" 出现位置
// var versionInfo2 = browserInfo.search("Chrome"); // 谷歌 不予提示信息
var versionInfo3 = browserInfo.search("MSIE"); // IE 得到 "MSIE" 出现位置
if(versionInfo1 >= 0){
browserVersion = browserInfo.substr(versionInfo1+ 8, 3); // 得到 40.
if(browserVersion < 35){ // Firefox35 以下
$("#warninfo").html("您使用的浏览器版本可能会影响部分功能的展示和使用,<br/>建议使用IE9及以上、Firefox35及以上版本");
}
}
if(versionInfo3 >= 0){
browserVersion = browserInfo.substr(versionInfo3+ 5, 3); // 得到 7.0
if(browserVersion < 9){ // IE9 以下
$("#warninfo").html("您使用的浏览器版本可能会影响部分功能的展示和使用,<br/>建议使用IE9及以上、Firefox35及以上版本");
}
}
// alert(" 8.0"> 7); // 得到 true。 因为js 是弱类型语言
// 要对IE11 进行单独判断 ★★★★★
})