需求背景:
有的時候網頁需要適配到IE較低的版本,但一些外掛的js並不相容,所以需要判斷當前瀏覽器的版本並根據瀏覽器型別和版本來動態載入js
html判斷IE
<!--[if !IE]><!-->
<script>
$.getScript("<{file js/xxx.min.js }>",function(){});
</script>
<!--<![endif]-->
註釋:這個可以在非IE瀏覽器和IE10,IE11可以識別到這個標籤
js判斷IE
<script>
isIEVersion = function(){
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;
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(isIE11) {
return 11; //IE11
}else{
return -1;//不是ie瀏覽器
}
};
var version = isIEVersion();
//ie > 11 或者 非ie瀏覽器 xxx.js
if(version>=10 || version < 0){
$.getScript("<{file js/xxx.min.js }>",function(){});
}
</script>
有什麼不對的地方或更好的方法請大佬們指正:):bowtie:
本作品採用《CC 協議》,轉載必須註明作者和本文連結