如何使用jQuery.support检测IE7和IE8

如何使用jQuery.support属性检测IE 7和IE 8?

是否可以使用jQuery.support检测浏览器版本或只是那些等等等等?

这完全有可能得到支持:

if (!$.support.leadingWhitespace) { //IE7 and 8 stuff } 

这也检测IE 6但是,如果您不希望IE 6运行此代码块,则需要另一个标志来排除它

不使用浏览器的一个很好的理由是它是一个不推荐使用的function,它可能会被删除到版本1.9的插件。 (请参阅有关如何使用jQuery检测IE7的答案的评论? )

“我们建议不要使用此属性;请尝试使用function检测(请参阅jQuery.support).jQuery.browser可能会移动到jQuery” http://api.jquery.com/jQuery的未来版本中的插件。浏览器/

这是一个工作示例: http : //jsfiddle.net/AGtG8/16/

 if (jQuery.support.leadingWhitespace == false){ ... code for IE7-IE8 ... } else { ... } 

请注意以下内容,因为它还包括IE10:

 if ($.browser.msie && $.browser.version.substr(0,1)<7) { // 

更好用:

 if ($.browser.msie && parseInt($.browser.version,10)<7) { // 

我发现的一个技巧是在HTML中添加Conditionnal Tags

      

然后像这样使用JQuery:

 $('body.ie7') 

它还有助于特定于IE的CSS

 body.ie6{ margin: 0; } 

我不知道这对你有好处,但无论如何,这仍然是一个选择。

.support.support用于特征检测。 如果要检测浏览器,只需使用.browser

  var ua = $.browser; if ( ua.msie && ua.version.slice(0,1) == "8" ) { alert('IE 8'); } else if ( ua.msie && ua.version.slice(0,1) == "7" ) { alert('IE 7'); } else { alert('something else'); } 

jQuery.support用于检测浏览器function。 要检测浏览器版本,请使用jQuery.browser:

 if ($.browser.msie && $.browser.version.substr(0,1)<7) { //IE7 } 

更新:$ .browser现已弃用,请勿使用它。

我已经注意到了许多不同的方法,虽然我发现这种方法非常有效,但是不要使用$.support 。 另外,jquery刚刚宣布他们将在jquery 2.0中删除对IE 6,7,8的任何支持( http://blog.jquery.com/2012/06/28/jquery-core-version- 1-9-超越/ )。

 var msVersion = navigator.userAgent.match(/MSIE ([0-9]{1,}[\.0-9]{0,})/), msie = !!msVersion, ie6 = msie && parseFloat(msVersion[1]) < 7; // Help prevent flashes of unstyled content if (!ie6) { //Do Something here. } 

快乐的编码!

我用它来检查浏览器是否为8或更少

更改ie版本只需将8更新为另一个即verion

 if (jQuery.browser.msie && jQuery.browser.version.substr(0,1) <= 8 ) { runIECode(); } else { runOther(); } 

我添加了几行Javascript以使其再次运行:

 jQuery.uaMatch = function (ua) { ua = ua.toLowerCase(); var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || /(webkit)[ \/]([\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || /(msie) ([\w.]+)/.exec(ua) || ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || []; return { browser: match[ 1 ] || "", version: match[ 2 ] || "0" }; }; if (!jQuery.browser) { matched = jQuery.uaMatch(navigator.userAgent); browser = {}; if (matched.browser) { browser[ matched.browser ] = true; browser.version = matched.version; } // Chrome is Webkit, but Webkit is also Safari. if (browser.chrome) { browser.webkit = true; } else if (browser.webkit) { browser.safari = true; } jQuery.browser = browser; } 
 if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { var ieversion = new Number(RegExp.$1); alert(ieversion < 9); } 

使用jQuery.browser.version而不是支持

试试$ .browser ,它会告诉你浏览器版本是否低于IE9

  var isM = false; $.each($.browser, function (i, val) { if ($.browser.msie && parseInt(val) < 9) isM = true; });