2010-04-18 74 views

回答

3

很容易就會解析USER-AGENT字符串或get_browser() PHP函數。試試:

echo $_SERVER['HTTP_USER_AGENT']; 
var_dump(get_browser(null, true)); 

每個瀏覽器都發送自己的HTTP_USER_AGENT字符串。

Mobile devices USER_AGENT list

對於完整的解決方案來看看對bavotasan頁面或只是google

1

您需要檢查User-Agent頭:

if (preg_match("/(BlackBerry|(iP(hone|od))/i", $_SERVER['HTTP_USER_AGENT']))) { 
    ... 
} 
+0

代碼有錯誤,我無法檢測到,請你檢查一下嗎? – DomingoSL 2010-04-18 17:04:47

0

的$ _ SERVER [ 'HTTP_USER_AGENT']包含文字 「黑莓」 或分別爲 「iPhone」。如果iPod Touch是iPod,也是如此。

3

除了檢查User-Agent頭,你可能還需要檢查X-Wap-ProfileProfile頭,因爲一些第三方瀏覽器可能不發送正確User-Agent頭(它們可以欺騙一個IE或Firefox頭)。順序,我要檢查頭,尋找移動客戶端時,就是:

  1. X-WAP的簡介
  2. 簡介
  3. 的User-Agent
2

在javascript中:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var deviceAndroid = "android"; 
     var deviceIphone = "iphone"; 
     var deviceBlackberry = "blackberry"; 
     var uagent = navigator.userAgent.toLowerCase(); 
     DetectDevice(); 


     function DetectDevice() { 
      if (uagent.search(deviceAndroid) > -1) {} 
      else if (uagent.search(deviceIphone) > -1) {} 
      else if (uagent.search(deviceBlackberry) > -1) {} 
      else { } 
     } 
    }); 
</script>