2011-01-21 75 views
1

当我有在做自己的网站工作在多个浏览器巨大的问题,IE浏览器的所有版本。我喜欢检测用户何时使用任何IE版本。检测访问的网页

没有任何人有编码,当它检测到IE提醒我?

戈登

回答

6

您可以使用$.browser属性:

if ($.browser.msie) { 
    alert('IE !'); 
} 
+0

在此之前的伟大工程 – Gordon 2011-01-21 16:39:38

+0

jQuery的版本,这仅适用于1.9(http://jquery.com/upgrade-guide/1.9/#jquery-browser-removed) – user828878 2014-01-16 23:38:02

1
if(/msie/.test(navigator.userAgent.toLowerCase())) { 
    // omg it's an internet explorer 
} 

这才是真正的快速&肮脏的解决方案。无论如何,你应该做功能检测,而不是浏览器检测。举例来说,如果你需要一个JSON解析器,去

if('JSON' in window) {} 

这将是正确的解决方案。检查一个浏览器(甚至可能是该版本)是不可靠的。

+0

我想MSIE开始确定自己处于有的一版本的Mozilla的点。 http://www.useragentstring.com/pages/Internet%20Explorer/ – Jake 2011-01-21 14:51:29

+0

@Jake:`MSIE`包含在任何这些字符串。 – jAndy 2011-01-21 14:55:26

1

你为什么要检测IE?特征检测,而不是浏览器嗅探,是尽可能处理事情的首选方法。 (我不认为它总是可能,但它的几乎总是可能的。)jQuery的jQuery.support提供了一些这些和链接的页面为它提供了很好的链接到功能检测一般。或者,正如达林说,你可以看看$.browser,但是这的确是一个不得已而为之。

如果您发布与您遇到的跨浏览器的实际问题的问题,赔率是相当高的人可以帮助你在不依赖于浏览器嗅探的方式解决这些问题。

1

抛开价值判断浏览器与特征检测,您也可以使用IE条件注释:

<script type="text/javascript"> 
var isIE = false; 
</script> 
<![if IE]> <!--- only runs in IE ---> 
    <script type="text/javascript">isIE = true;</script> 
<![endif]> 
0

$ .browser.msie没有在jQuery的你可以添加的最新版本jQuery的migrate-支持1.2.1.min.js或使用下面的jQuery功能...对于IE它也给你的版本...

调用currentBrowser()。浏览器来检测浏览器和currentBrowser()。版本的IE版本... ......

function currentBrowser() { 

$.returnVal = ""; 

var browserUserAgent = navigator.userAgent; 

if (browserUserAgent.indexOf("Firefox") > -1) { 

    $.returnVal = { browser: "Firefox" }; 
} 

else if (browserUserAgent.indexOf("Chrome") > -1) { 

    $.returnVal = { browser: "Chrome" }; 
} 

else if (browserUserAgent.indexOf("Safari") > -1) { 

    $.returnVal = { browser: "Safari" }; 
} 

else if (browserUserAgent.indexOf("MSIE") > -1) { 

    var splitUserAgent = browserUserAgent.split(";"); 

    for (var val in splitUserAgent) { 

     if (splitUserAgent[val].match("MSIE")) { 

      var IEVersion = parseInt(splitUserAgent[val].substr(5, splitUserAgent[val].length)); 
     } 
    } 

    $.returnVal = { browser: "IE", version: IEVersion }; 
} 

else if (browserUserAgent.indexOf("Opera") > -1) { 

    $.returnVal = { browser: "Opera" }; 
} 

else { 
    $.returnVal = 
    { browser: "other" }; 
} 

return $.returnVal; 
}