在WEB開發中,我們時常會遇到需要針對IE瀏覽器的不同版本做出不同的處理,如何在JavaScript中判斷當前使用的IE的版本呢?本文將會為大家詳細介紹JavaScript判斷IE版本的方法。
IE6、IE7、IE8、IE9、IE10、IE11版本差異較大,因此在代碼編寫過程中要區分不同版本進行不同的兼容性處理。下面我們通過實例一步步來講解JavaScript判斷IE版本的方法。
// JavaScript判斷是否為IE瀏覽器,返回值為true/false function isIE() { if (!!window.ActiveXObject || 'ActiveXObject' in window) { return true; } else { return false; } }
首先,我們可以通過判斷是否存在window下的ActiveXObject屬性來判斷瀏覽器是否為IE瀏覽器。如果ActiveXObject存在,則返回值為true,否則返回值為false。
// JavaScript判斷IE版本號,返回非IE為0、IE6為6、IE7為7……IE11為11 function IEVersion() { var userAgent = navigator.userAgent, // 取得瀏覽器的userAgent字符串 isIE = !!window.ActiveXObject || 'ActiveXObject' in window, // 判斷是否為IE瀏覽器 regIE = /MSIE ([^;]+)/, // 正則匹配IE瀏覽器版本 regTrident = /Trident\/[\d\.]+/; // 正則匹配IE瀏覽器版本 if (isIE) { var IEVersion = null; if (regIE.test(userAgent)) { // IE瀏覽器 IEVersion = parseFloat(RegExp.$1); } if (regTrident.test(userAgent)) { // IE11 var tridentVersion = parseInt(RegExp.$1.replace(/[^0-9.]/g, '')); if (tridentVersion >= 7) { IEVersion = 11; } else { IEVersion = 10; } } if (IEVersion === null) { IEVersion = 0; } return IEVersion; } else { return 0; } }
接下來,我們來看一下如何通過判斷IE瀏覽器版本號的方式來區分不同版本進行的兼容性處理。上面的代碼中,我們使用了正則表達式來匹配用戶使用的IE瀏覽器版本,并返回對應的數字。其中,
- IE6版本:返回6
- IE7版本:返回7
- IE8版本:返回8
- IE9版本:返回9
- IE10版本:返回10
- IE11版本:返回11
- 非IE瀏覽器:返回0
通過判斷返回值,我們就可以在不同的IE瀏覽器版本中進行不同的兼容性處理了。
綜上所述,通過判斷ActiveXObject屬性和IE瀏覽器版本號,我們可以實現JavaScript判斷IE瀏覽器版本的功能,從而實現對不同版本進行兼容性處理的需求。