jQuery的检查,如果浏览器是IE(Jquery check if browser is IE)

2019-08-17 04:01发布

我将如何检查,如果用户的浏览器是IE? 我在这里有这个代码,但它无法正常工作。

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

Answer 1:

试试这个解决方案由詹姆斯Padolsey:

// ----------------------------------------------------------
// 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;
}());

还有在评论其他有趣的解决方案,以及。



Answer 2:

browser在1.9去除:

说明:包含用户代理,从navigator.userAgent的读取标志。 我们不推荐使用此属性; 请尽量使用特征检测(请参阅第jQuery.support)。 jQuery.browser可能在将来的jQuery的版本被移动到一个插件。



Answer 3:

测试功能,而不是浏览器。 如果你使用和需要FORMDATA就像你在你的注释说明,然后改变你的支票:

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


Answer 4:

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

(当然,用户代理是可以被欺骗......但是,如果有人欺骗他们的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;
}


Answer 5:

只是一个提醒(甚至想过没有直接回答这个问题); 它始终是更好地用户特征检测,而不是到浏览器的检测。

这就是为什么Modernizr的是有;

为什么要使用Modernizr的 ?

以很酷的新的网络技术的优点是很有趣,直到你有来支持落后的浏览器。 Modernizr的,很容易让你写有条件的JavaScript和CSS来处理每一个情况,一个浏览器是否支持功能,或者不。 这是完美的轻松做渐进增强。

所以,你会使用它像;

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



文章来源: Jquery check if browser is IE