20
$(window).load(function () {
   if($.browser.msie && $.browser.version=="6.0") {
     // do stuff
   }
});

刚刚意识到 $.browser 在 1.3 中已经贬值了。检测IE的新方法是什么,特别是IE6。

4

3 回答 3

19

jQuery 文档jQuery.browser显示以下警告。(重点是我的。)

由于$.browser用于navigator.userAgent确定平台,因此容易受到用户的欺骗或浏览器本身的虚假陈述。在可能的情况下,最好完全避免使用特定于浏览器的代码。与其依赖$.browser它,不如使用像Modernizr这样的库。

文档页面还说:

这个属性在 jQuery 1.9 中被移除并且只能通过 jQuery.migrate 插件使用。请尝试改用特征检测。

旧文档中建议的EvenjQuery.support有以下警告。(重点是我的。)

代表不同浏览器功能或错误存在的属性集合。供 jQuery 内部使用;当内部不再需要特定属性以提高页面启动性能时,可能会删除它们。对于您自己项目的功能检测需求,我们强烈建议使用诸如Modernizr之类的外部库,而不是依赖jQuery.support.

以前的文档jQuery.support报告了以下属性和值。

  • $.support.boxmodelfalseIE 6 和 7 中。
  • $.support.cssFloat适用false于 IE 6、7 和 8;它true在 IE 9 中。
  • $.support.leadingWhitespace适用false于 IE 6、7 和 8。
  • $.support.objectAll目前false适用于 IE 6、7 和 8。
于 2009-12-22T04:32:03.097 回答
6

hot from the documentation:我们建议不要使用此属性,请尝试使用特征检测代替(请参阅jQuery.support)。

于 2009-12-22T04:33:00.843 回答
1

显示浏览器信息

jQuery.each( jQuery.browser, function( i, val ) {
$( "<div>" + i + " : <span>" + val + "</span>" )
.appendTo( document.body );
});

提醒正在使用的 IE 渲染引擎的版本。除非包含 jQuery Migrate 插件,否则将无法在 jQuery 1.9 或更高版本中使用。

if ( $.browser.msie ) {
alert( $.browser.version );
}
于 2014-06-17T03:59:00.400 回答