為了防止以后找不到鏈接饶唤,特意在此做個筆記恨溜,文章地址:https://www.cnblogs.com/XCWebLTE/p/7017338.html
js判斷是否是ie瀏覽器且給出ie版本
之前懶得寫判斷ie版本js读恃,因為網(wǎng)上關(guān)于這方面的代碼太多了算利,所以從網(wǎng)上拷貝了一個掏觉,放到項目上才發(fā)現(xiàn)由于時效性的問題竹海,代碼不生效。就自己寫一個吧。
怎么去看瀏覽器的內(nèi)核等信息 ---- js的全局對象window子屬性navigator.userAgent趟济,這個屬性是包含了瀏覽器信息的相關(guān)信息,包括我們需要的瀏覽器內(nèi)核
navigator.userAgent這個值取出來是個字符串咽笼,可以通過string的 indexOf方法或者正則匹配來驗證關(guān)鍵字符串
ie11和edge的判斷方式有所不同顷编,后面我會給出幾個圖
-
image
這個是ie11的userAgent
-
image
這個是edge的userAgent
-
image
ie9的userAgent
-
image
ie8的userAgent
-
image
ie10的userAgent
你一定發(fā)現(xiàn)了,ie11和edge的userAgent是和ie8,9,10差別蠻大的剑刑,那么對用的在寫js時需要特別判斷媳纬,下面給出我寫好的一段判斷是否是ie且給出ie版本號的js代碼段
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瀏覽器
}
}
通過調(diào)用 IEVersion()可以獲得返回值,值如下
值 | 值類型 | 值說明 |
---|---|---|
-1 | Number | 不是ie瀏覽器 |
6 | Number | ie版本<=6 |
7 | Number | ie7 |
8 | Number | ie8 |
9 | Number | ie9 |
10 | Number | ie10 |
11 | Number | ie11 |
'edge' | String | ie的edge瀏覽器 |