Jquery检查浏览器是否为IE

时间:2013-02-24 21:00:48

标签: javascript jquery html css internet-explorer

我如何检查用户浏览器是否为IE?我在这里有这个代码,但它没有用。

if($.browser.msie && $.browser.version <= 9)
{
    alert('You Are Using An Outdated Browser! Switch To Chrome Or FireFox.');   
}

5 个答案:

答案 0 :(得分:16)

James Padolsey尝试this solution

// ----------------------------------------------------------
// If you're not in IE (or IE version is less than 5) then:
//     ie === undefined
// If you're in IE (>5) then you can determine which version:
//     ie === 7; // IE7
// Thus, to detect IE:
//     if (ie) {}
// And to detect the version:
//     ie === 6 // IE6
//     ie> 7 // IE8, IE9 ...
//     ie <9 // Anything less than IE9
// ----------------------------------------------------------
var ie = (function(){
    var undef, v = 3, div = document.createElement('div');

    while (
        div.innerHTML = '<!--[if gt IE '+(++v)+']><i></i><![endif]-->',
        div.getElementsByTagName('i')[0]
    );

    return v> 4 ? v : undef;
}());

评论中还有其他有趣的解决方案。

答案 1 :(得分:11)

browser已在1.9。中删除:

  

描述:包含useragent的标志,从navigator.userAgent读取。我们建议不要使用此属性;请尝试使用功能检测(请参阅jQuery.support)。 jQuery.browser可能会在未来的jQuery版本中移动到插件中。

答案 2 :(得分:6)

测试功能,而不是浏览器。如果您在评论中使用并要求FormData,请将支票更改为:

if ( !("FormData" in window) ) {
   // Tell the user to use a better browser, or whatever
}

答案 3 :(得分:4)

MS推荐方式如何: http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx

(当然,UserAgent可能会被欺骗......但是,如果有人欺骗他们的UserAgent,你真的关心他们在你的网站上看到了什么吗?)

 function getInternetExplorerVersion()
 // Returns the version of Internet Explorer or a -1
 // (indicating the use of another browser).
 {
    var rv = -1; // Return value assumes failure.

    if (navigator.appName == 'Microsoft Internet Explorer')
    {
        var ua = navigator.userAgent;
        var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");

        if (re.exec(ua) != null) rv = parseFloat( RegExp.$1 );
    }
    return rv;
}

答案 4 :(得分:0)

只是一个提醒(甚至认为没有直接回答问题);浏览器检测的用户特征检测as opposed总是更好。

这就是Modernizr在那里的原因;

  

为什么要使用Modernizr

     

利用酷炫的新网络技术非常有趣,直到您必须支持落后的浏览器。无论浏览器是否支持某项功能,Modernizr都可以让您轻松编写条件JavaScript和CSS来处理每种情况。它非常适合轻松进行渐进式增强。

所以你会像使用它一样;

Modernizr.canvas ? showGraph() : showTable();