Categories

jQuery.browser

Categories: Utilities | Properties of the Global jQuery Object | Deprecated

jQuery.browserReturns: Map

Description: Contains flags for the useragent, read from navigator.userAgent. We recommend against using this property; please try to use feature detection instead (see jQuery.support). jQuery.browser may be moved to a plugin in a future release of jQuery.

  • jQuery.browser

    version added: 1.0

The $.browser property provides information about the web browser that is accessing the page, as reported by the browser itself. It contains flags for each of the four most prevalent browser classes (Internet Explorer, Mozilla, Webkit, and Opera) as well as version information.

Available flags are:

  • webkit (as of jQuery 1.4)
  • safari (deprecated)
  • opera
  • msie
  • mozilla

This property is available immediately. It is therefore safe to use it to determine whether or not to call $(document).ready(). The $.browser property is deprecated in jQuery 1.3, and its functionality may be moved to a team-supported plugin in a future release of jQuery.

Because $.browser uses navigator.userAgent to determine the platform, it is vulnerable to spoofing by the user or misrepresentation by the browser itself. It is always best to avoid browser-specific code entirely where possible. The $.support property is available for detection of support for particular features rather than relying on $.browser.

  • Show the browser info.

    HTML:
    
    <p>Browser info:</p>
    
    CSS:
    
      p { color:green; font-weight:bolder; margin:3px 0 0 10px; }
      div { color:blue; margin-left:20px; font-size:14px; }
      span { color:red; }
      
    Code:
    
        jQuery.each(jQuery.browser, function(i, val) {
          $("<div>" + i + " : <span>" + val + "</span>")
                    .appendTo( document.body );
        });
  • Returns true if the current useragent is some version of Microsoft's Internet Explorer.

    Code:
    
      $.browser.msie;
    
  • Alerts "this is WebKit!" only for WebKit browsers

    Code:
    
      if ($.browser.webkit) {
        alert( "this is webkit!" );
      }
    
  • Alerts "Do stuff for Firefox 3" only for Firefox 3 browsers.

    Code:
    
      var ua = $.browser;
      if ( ua.mozilla && ua.version.slice(0,3) == "1.9" ) {
        alert( "Do stuff for firefox 3" );
      }
    
  • Set a CSS property that's specific to a particular browser.

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