2011-09-08 97 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; 
}