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
}