
在我们的开发页面中,我们将始终遇到兼容性问题。通常,我们通过css hack根据不同的浏览器编写不同的css,或判断浏览器加载不同的模块。在这里,我们将分享判断方法,即
一、IE条件注释(h5方法)

IE的判断方法仅与IE9,IE10及更高版本兼容,只能显示非IE注释内容

二、js判断
在IE浏览器之前,该判断通常基于MSIE,但是IE之后的判断已更改。通过浏览器随附的navigator.userAgent方法做出相应的判断。

1.将IE与其他主流浏览器区分开来
function isIE() { return navigator.userAgent.toLowerCase().indexOf('trident')>-1?true:false; }

或
function isIE(){ if(!!window.ActiveXObject || "ActiveXObject" in window){ return true; }else{ return false; } }
2.判断IE并提供相应的版本
function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; if(isIE) { var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if(fIEVersion == 7) { return 7; } else if(fIEVersion == 8) { return 8; } else if(fIEVersion == 9) { return 9; } else if(fIEVersion == 10) { return 10; } else { return 6;//IE版本<=7 } } else if(isEdge) { return 'edge';//edge } else if(isIE11) { return 11; //IE11 }else{ return -1;//不是ie浏览器 } }
3.确定主要的浏览器版本
function browserVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //Edge浏览器 var isFirefox = userAgent.indexOf("Firefox") > -1; //Firefox浏览器 var isOpera = userAgent.indexOf("Opera")>-1 || userAgent.indexOf("OPR")>-1 ; //Opera浏览器 var isChrome = userAgent.indexOf("Chrome")>-1 && userAgent.indexOf("Safari")>-1 && userAgent.indexOf("Edge")==-1 && userAgent.indexOf("OPR")==-1; //Chrome浏览器 var isSafari = userAgent.indexOf("Safari")>-1 && userAgent.indexOf("Chrome")==-1 && userAgent.indexOf("Edge")==-1 && userAgent.indexOf("OPR")==-1; //Safari浏览器 if(isIE) { var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if(fIEVersion == 7) { return 'IE7'; } else if(fIEVersion == 8) { return 'IE8'; } else if(fIEVersion == 9) { return 'IE9'; } else if(fIEVersion == 10) { return 'IE10'; } else { return 'IE6';//IE版本<7 } } else if(isIE11) { return 'IE11'; } else if(isEdge) { return 'Edge'+userAgent.split('Edge/')[1].split('.')[0]; } else if(isFirefox) { return 'Firefox'+userAgent.split('Firefox/')[1].split('.')[0]; } else if(isOpera) { return 'Opera'+userAgent.split('OPR/')[1].split('.')[0]; } else if(isChrome) { return 'Chrome'+userAgent.split('Chrome/')[1].split('.')[0]; } else if(isSafari) { return 'Safari';+userAgent.split('Safari/')[1].split('.')[0]; } else{ return -1;//不是ie浏览器 } }
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shumachanpin/article-331063-1.html
扶植此人推翻合法巴拿马政府做了总统
小王子这本书
屈臣氏的广告