js 判断是不是ie11

JavaScript026

js 判断是不是ie11,第1张

<script type="text/javascript">  

                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()  

                function uaMatch(ua) {  

                    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" }  

                    }  

                }  

                var browserMatch = uaMatch(userAgent.toLowerCase())  

                if (browserMatch.browser) {  

                    browser = browserMatch.browser  

                    version = browserMatch.version  

                }  

                document.write(browser+version)          

                    </script>

isIE11 = (sUserAgent.toLowerCase().indexOf("trident") >-1 &&sUserAgent.indexOf("rv") >-1)

判断是否IE浏览器用的是window.navigator.userAgent,跟踪这个信息,发现在开发环境,识别为IE10,但访问服务器则识别为IE11,但IE11的userAgent里是没有MSIE标志的,原因就是这个了。

把判断IE浏览器的方法改成如下就可以了。

原来的函数写法:对于新版的ie11已经不支持了

function isIE(){

if (window.navigator.userAgent.indexOf("MSIE")>=1)

return true

else

return false

}

ie10及以上不支持ie浏览器的判断了,因为ie11已经不支持document.all了,下面是支持ie11的版本的,当然ie6-8也是支持的

function isIE() { //ie?

if (!!window.ActiveXObject || "ActiveXObject" in window)

return true

else

return false

}