2011-09-08 111 views
2

我使用$.browser来尝试检查哪种类型的浏览器用户访问我的网站。然而,我的问题是,SafariChrome是webkit浏览器,因此我也不知道如何区分它们。jquery检查用户浏览器类型

有没有一种方法来区分safari和chrome,这样我可以让我的网站做一些不同的事情?

+0

检查这个问题,它可以帮助。 http://stackoverflow.com/questions/3303858/distinguish-chrome-from-safari-using-jquery-browser –

+0

[jQuery 1.6浏览器检测]的可能重复(http://stackoverflow.com/questions/6674246/jquery -1-6-浏览器检测) –

回答

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/

+0

啊,这很可能会诀窍。你能否确认我是否可以在这些if else语句中传入'msie','opera'和'mozilla'? – Cliftwalker

+0

@Cliftwalker:是的。您可以。小写! – genesis

+0

伟大的东西,这是完美的工作!谢谢。 – Cliftwalker

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 

火狐:

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/

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; 
}