原來判斷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; } } }