返回值:MapjQuery.browser

通过 navigator.userAgent 取得的,包含 useragent 的标识。 我们不建议使用该属性判断所使用的浏览器类型。请尝试使用功能检测的方式来代替此属性 (详见 jQuery.support)。在今后发布的 jQuery 中,jQuery.browser 可能会被移到插件中。

$.browser 属性提供了当前访问页面的浏览器的信息,该信息是由浏览器自己提供的。它包括了以下四个最流行的浏览器类型,分别是(Internet Explorer, Mozilla, Webkit, 和 Opera),同时还包括了浏览器的版本信息。

有效的标识如下:

  • webkit (从 jQuery 1.4 开始)
  • safari (不建议使用)
  • opera
  • msie
  • mozilla

该属性会立刻生效。因此可以安全的使用它来判断是否应该调用 $(document).ready()。从 jQuery 1.3 开始就不再建议使用 $.browser 属性了,在今后发布的 jQuery 中,该功能可能会被移到插件中。

由于 $.browser 使用了 navigator.userAgent 来判断平台,因此使它显得很脆弱,因为用户可以通过技术手段来修改该值,从而欺骗浏览器,或者由于浏览器误报,都使该属性显得很脆弱。避免该问题的最好办法就是使用 $.support 属性来检测特定的功能在当前使用的该浏览器中是否有效,而不是依赖 $.browser

示例:

显示浏览器信息。

<!DOCTYPE html>
<html>
<head>
<style>
  p { color:green; font-weight:bolder; margin:3px 0 0 10px; }
  div { color:blue; margin-left:20px; font-size:14px; }
  span { color:red; }
  </style>
<script src="jquery.min.js"></script>
</head>
<body>


<p>Browser info:</p>


<script>


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

</script>
</body>
</html>

演示:

示例:

如果当前使用的浏览器是 Microsoft 的 Internet Explorer,那么下面的语句会返回 true。

jQuery 代码:

  $.browser.msie;

示例:

若使用的是 WebKit 的浏览器,则弹出提示框 "this is WebKit!"。

jQuery 代码:

  if ($.browser.webkit) {
    alert( "this is webkit!" );
  }

示例:

如果使用的是 Firefox 3,则弹出提示框 "Do stuff for Firefox 3"。

jQuery 代码:

  var ua = $.browser;
  if ( ua.mozilla && ua.version.slice(0,3) == "1.9" ) {
    alert( "Do stuff for firefox 3" );
  }

示例:

为不同的浏览器设置不同的 CSS 属性。

jQuery 代码:

 if ( $.browser.msie ) {
    $("#div ul li").css( "display","inline" );
 } else {
    $("#div ul li").css( "display","inline-table" );
 }