2010-10-17 54 views
6

對於我的網站,我需要能夠分辨Android平板電腦訪問時間和Android手機訪問時間之間的差異。它在頁面發送給用戶之前需要被檢測到,所以使用JavaScript來檢查屏幕res不是一個選項。如何使用用戶代理標題以不同方式檢測Android手機和Android平板電腦?

在我使用它來檢測Android設備的時刻: stripos函數($ UA,「機器人」)

有什麼獨特的塔爾平板電腦已經在它的用戶代理?

+1

如果您使用語義HTML和CSS編碼頁面,則在發送頁面之前,您不需要檢測設備類型。 – 2010-10-17 08:46:32

回答

0

結賬WURFL項目。它不僅能在Android手機和Android平板電腦場景中幫助您,也能幫助您解決其他設備問題。

5

您可以使用PHP的$ _ SERVER [「HTTP_USER_AGENT」],然後不區分大小寫eregi功能,查找下面,它假定瀏覽器開發商遵循Android的用戶代理規範準則:

$ua = $_SERVER['HTTP_USER_AGENT']; 
if (eregi('Android', $ua) && eregi('Mobile', $ua)) $platform = "Android Phone"; 
elseif (eregi('Android', $ua) && !eregi('Mobile', $ua)) $platform = "Android Tablet"; 

這不是萬無一失但這是一個開始。

-2
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPod') || strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPad') || strstr($_SERVER['HTTP_USER_AGENT'],'Android')){ 
    //do something... 
} 

爲我工作

0

@Patrick克什納,你的代碼只適用於家庭的蘋果產品。每臺Apple設備都會發送自己的UA,但Android設備並非如此。實際上,這篇文章的作者需要知道Android設備是平板電腦還是手機,而不使用Javascript。用戶user336828提交的代碼是一個很好的解決方法,雖然不是100%可靠:一些克隆/白標籤/低質量設備可能會發送完全相同的UA字符串從平板電腦和手機,但我認爲這應該適用於大多數知名品牌的設備。我剛剛在Android手機和平板電腦上測試了該代碼,並且它正在運行。

+0

你能否讓這個答案更清楚? – 2017-04-24 16:00:16

相關問題