jquery检查用户浏览器类型

时间:2011-09-08 11:00:15

标签: javascript jquery

我正在使用$.browser尝试检查哪些类型的浏览器用户访问了我的网站。但问题是 Safari Chrome 都是webkit浏览器,因此我不知道如何区分它们。

有没有办法区分safari和chrome,以便我可以让我的网站做一些与众不同的事情?

3 个答案:

答案 0 :(得分:4)

function browserTester(browserString) {
    return navigator.userAgent.toLowerCase().indexOf(browserString) > -1;
}

if(browserTester('chrome')) {
    // do stuff for chrome
} else if(browserTester('safari')) {
    //do stuff for safari
}

http://jsfiddle.net/genesis/gm3Na/

答案 1 :(得分:0)

您可以使用navigator.userAgent来查找此信息。

一些示例输出: 铬:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1

Firefox:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:6.0.2) Gecko/20100101 Firefox/6.0.2

Safari浏览器:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3

见这里:http://jsfiddle.net/bQrgB/

答案 2 :(得分:0)

这里有一个类似的主题: Distinguish Chrome from Safari using jQuery.browser

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('safari/') +7);
  userAgent = userAgent.substring(0,userAgent.indexOf('.'));
  $.browser.version = userAgent;
}