【问题标题】:Can I detect the iOS device when a user opens a PHP webpage in Safari for iOS?当用户在 iOS 版 Safari 中打开 PHP 网页时,我可以检测到 iOS 设备吗?
【发布时间】:2012-07-01 06:40:53
【问题描述】:

我知道我可以获取 iOS 版本,还可以通过以下代码读取浏览器代理来了解用户使用的是 iPod Touch、iPad 还是 iPhone:

$_SERVER['HTTP_USER_AGENT'];

但是,我可以检测 iOS 设备的规格吗?就像用户使用 iPhone 一样,是 iPhone 4S、iPhone 4、iPhone 3GS 还是 iPhone 3G?

【问题讨论】:

  • @Jason 我的意思是问是否可以检测到检测到的 iOS 设备的规格。您所指的问题只是检测 iOS 设备,而不是探索规格。

标签: php ios browser mobile-safari user-agent


【解决方案1】:

以下是 iOS 设备在 Safari 中发送的 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 相关,而不是设备。

【讨论】:

  • 9B206 是 iOS 的内部版本号。
  • 好的。那我就说Safari发送的User-Agent中没有针对iOS设备具体型号的内容。
【解决方案2】:

有点,注意用户代理与使用 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,如 Mac OS X)AppleWebKit/534.46(KHTML,如 Gecko)版本/5.1 Mobile/9A334 Safari/7534.48.3

然后你可以在那个字符串中找到一个子字符串

【讨论】:

  • 是的,但它不知道是哪部 iPhone? iPhone 4S,iPhone 3GS?等等
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-13
  • 2015-05-09
相关资源
最近更新 更多