原来判断IE浏览器版本很简单,但是随着版本的升级,navigator.userAgent显示的信息也不一样;下图是IE11显示的信息
原来的浏览器中有msie,但是IE11中没有,IE11中新增了trident
判断浏览器代码如下
function Match() { var userAgent = navigator.userAgent, rMsie = /(msie\s|trident.*rv:)([\w.]+)/, rFirefox = /(firefox)\/([\w.]+)/, rOpera = /(opera).+version\/([\w.]+)/, rChrome = /(chrome)\/([\w.]+)/, rSafari = /version\/([\w.]+).*(safari)/; var browser; var version; var ua = userAgent.toLowerCase(); var match = rMsie.exec(ua); if (match != null) { return { browser: "IE", version: match[2] || "0" }; } var match = rFirefox.exec(ua); if (match != null) { return { browser: match[1] || "", version: match[2] || "0" }; } var match = rOpera.exec(ua); if (match != null) { return { browser: match[1] || "", version: match[2] || "0" }; } var match = rChrome.exec(ua); if (match != null) { return { browser: match[1] || "", version: match[2] || "0" }; } var match = rSafari.exec(ua); if (match != null) { return { browser: match[2] || "", version: match[1] || "0" }; } if (match != null) { return { browser: "", version: "0" }; } }
引用上面的代码判断浏览器版本
function initBrowserVersion() { var browserMatch = Match(); alert(browserMatch.browser + '--' + browserMatch.version); if (browserMatch.browser) { if (browserMatch.browser == "IE"&&browserMatch.version<8) { alert("浏览器版本太低,请升级,以免影响使用体验!"); return false; } else if (browserMatch.browser == "chrome" && 30>browserMatch.version.substring(0,browserMatch.version.indexOf("."))) { alert("浏览器版本太低,请升级,以免影响使用体验!"); return false; } else if (browserMatch.browser == "firefox" && 40 > browserMatch.version.substring(0, browserMatch.version.indexOf("."))) { alert("浏览器版本太低,请升级,以免影响使用体验!"); return false; } } }