2010-07-16 58 views
0

桌面/ OS用戶代理下面是我當前的腳本:在Javascript

<script type="text/javascript"> 
if (navigator.userAgent.indexOf('BlackBerry')!= -1){ 
    document.write('<link rel="stylesheet" href="/m/css/mobile.css" type="text/css" />'); 
} else if (navigator.userAgent.indexOf('iPhone')!= -1) { 
    document.write('<link rel="stylesheet" href="/m/css/smartmobile.css" type="text/css" />'); 
}else if (navigator.userAgent.indexOf('Android')!= -1) { 
    document.write('<link rel="stylesheet" href="/m/css/smartmobile.css" type="text/css" />'); 
} else if (navigator.userAgent.indexOf('Windows XP')!= -1) { 
    document.write('<link rel="stylesheet" href="/m/css/smartmobile.css" type="text/css" />'); 
} 
else{ 
    document.write('<link rel="stylesheet" href="/m/css/mobile.css" type="text/css" />'); 
} 
</script> 

在Windows XP不能正常工作,它的默認爲在桌面計算機上的最後一個else子句。我需要OS ID或瀏覽器的ID(即Firefox,Chrome,IE,Opera)。

回答

1

您的「Windows XP」行不起作用,因爲Windows XP將自己標識爲「Windows NT 5.1」。

但是,我很好奇你爲什麼要這麼做。任何形式的UserAgent嗅探通常都在Web開發社區中被詬病 - 總會有更好的(通常更容易)的方式。

+0

這是我們的手機網站。我想要一個CSS顯示Blackberrys和另一個更聰明的手機。我不能悲傷地使用任何服務器端編碼。 – balexander 2010-07-16 20:54:13

+0

爲什麼會皺眉?我認爲它相當常見,因此您可以將用戶引導至支持其環境的網站版本。 – Nate 2010-07-16 20:55:03

+0

@ Bry4n你可以使用CSS媒體查詢來做到這一點,而無需瀏覽器嗅探。請參閱:http://vimeo.com/12976832 http://www.alistapart.com/articles/pocket/ – lucideer 2010-07-16 22:50:01