我知道我可以获取 iOS 版本,还可以通过以下代码读取浏览器代理来了解用户使用的是 iPod Touch、iPad 还是 iPhone:
$_SERVER['HTTP_USER_AGENT'];
但是,我可以检测 iOS 设备的规格吗?就像用户使用 iPhone 一样,它是 iPhone 4S、iPhone 4、iPhone 3GS 还是 iPhone 3G?
我知道我可以获取 iOS 版本,还可以通过以下代码读取浏览器代理来了解用户使用的是 iPod Touch、iPad 还是 iPhone:
$_SERVER['HTTP_USER_AGENT'];
但是,我可以检测 iOS 设备的规格吗?就像用户使用 iPhone 一样,它是 iPhone 4S、iPhone 4、iPhone 3GS 还是 iPhone 3G?
这是一个在 Safari 中由 iOS 设备发送的 User-Agent 示例。
Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3
看起来包括操作系统版本(OS 5_1_1
)。但没有具体说明 iOS 设备的型号/世代。您可以从版本中大致推断出这一点(例如 3G 无法运行 OS > 5)。但这充其量只是猜测。
我很好奇Mobile/9B206
……这可能与 Safari 相关,而不是设备。
有点,注意用户代理与使用 iOS 4 和 iOS 5 的 iPhone 的区别:
iPhone -- iOS 4: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18。 5
iPhone -- iOS 5: Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
然后您可以在该字符串中找到一个子字符串