Search code examples
jquerysafarigoogle-chromewebkitbrowser-detection

Distinguish Chrome from Safari using jQuery.browser


It seems jQuery.browser is able to identify webkit rather easily as of 1.4. But how can I use it to distinguish Chrome from Safari (and visa-versa)?


Solution

  • Since Sarfraz has not corrected his answer (thank you Sarfraz for pointing me in the correct direction), I will post functioning code here.

    var userAgent = navigator.userAgent.toLowerCase(); 
    $.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase()); 
    
    // Is this a version of Chrome?
    if($.browser.chrome){
      userAgent = userAgent.substring(userAgent.indexOf('chrome/') +7);
      userAgent = userAgent.substring(0,userAgent.indexOf('.'));
      $.browser.version = userAgent;
      // If it is chrome then jQuery thinks it's safari so we have to tell it it isn't
      $.browser.safari = false;
    }
    
    // Is this a version of Safari?
    if($.browser.safari){
      userAgent = userAgent.substring(userAgent.indexOf('version/') +8);
      userAgent = userAgent.substring(0,userAgent.indexOf('.'));
      $.browser.version = userAgent;
    }