如何爲iPad觀看者提供不同的頁面?在php中檢測iPad?
回答
if($_SERVER['HTTP_USER_AGENT'] == 'Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10') {
echo "That is an iPad";
}
見http://developer.apple.com/safari/library/technotes/tn2010/tn2262.html
另外,如果你不完全匹配打擾,你可能會考慮這樣的:
if(stristr($_SERVER['HTTP_USER_AGENT'], 'Mozilla/5.0(iPad;')) {
// probably an iPad
}
您可以通過iPad's user-agent
header的$_SERVER['HTTP_USER_AGENT']
嗤之以鼻,但理想,如果您可以在iPad上對任何其他設備進行功能檢測,並且與代理監聽相比更強大,更靈活。
好的答案,但對於<20個帖子和這個級別的問題的OP,有關「功能檢測」的更多細節意味着更好。 – 2010-04-20 16:49:15
+1用於特徵檢測。我已經看到了幾個SO問題,涉及顯式觸摸功能以及它們在JS中的支持 - 至少在現代瀏覽器上。這可能是一條路。 @大衛也有一點。 – 2010-04-20 16:49:42
@David - 我稍後可能會發布有關功能檢測的另一個問題。當我試用iPad並且不想使用我的登錄信息時,我發佈了一個新帳戶。我驚訝這不是一個愚蠢的,實際上......因爲它停留在周圍,並得到很好的答案,我把它合併,所以我可以選擇一個答案。然而,我選擇了karim79的答案,因爲我更喜歡代碼片段的答案。謝謝T.J.! – 2010-04-20 23:54:05
在該請求的用戶代理報頭將是:
的Mozilla/5.0(ipad公司; U; CPU OS 3_2等的Mac OS X; EN-US)爲AppleWebKit/531.21.10(KHTML,例如Gecko)版本/4.0.4 Mobile/7B367 Safari/531.21.10
請注意,它包含「iPad」。
此外,更簡單但可能不準確。
if (strstr($_SERVER['HTTP_USER_AGENT'], 'iPad')) {
echo "You are on an iPad";
}
- 1. 在Ruby中檢測iPad 3
- 2. 檢測iPad上
- 3. iPad 2檢測
- 4. iPad對象檢測
- 5. 用ASP.net檢測iPad
- 6. 在ASP Classic/Legacy中檢測iPad
- 7. 在Delphi中檢測iPad方向
- 8. 檢測在PHP
- 9. 在iPAD上檢測iPhone'正在運行'
- 10. XCode 4未檢測到iPad
- 11. 檢測iPad空氣/ 3
- 12. 檢測iPad Safari或縮放
- 13. 檢測敲/拍到iPhone/iPad
- 14. iPad檢測鍵盤/語言
- 15. 空氣3.3,新iPad,檢測?
- 16. iPad用戶代理檢測
- 17. 在PHP中檢測register_argc_argv
- 18. 在PHP中檢測整數?
- 19. 在PHP中檢測IPv6?
- 20. 檢測並調整ipad中的視口
- 21. 在iPhone/iPad上檢測180翻轉
- 22. 檢測的iPad在縱向與jQuery
- 23. 在iPad上檢測wifi網絡變化
- 24. 我如何檢測Iphone和iPad分別使用PHP
- 25. iphone檢測php
- 26. PHP檢測Opera
- 27. 檢測迴文中的php
- 28. PHP中的人臉檢測
- 29. 在PHP檢測OS運行
- 30. PHP - 在檢測HTTPS協議
我不知道我會尋找一個完全匹配。除非你有特定版本的理由,否則我只會尋找它包含「iPad」。 – 2010-04-20 16:37:15
-1爲湯姆的推理。當4.0的操作系統升級推出時,這幾乎肯定會中斷。 – 2010-04-20 16:38:04
@Tom - 在您的評論之前正在編輯它 – karim79 2010-04-20 16:38:06