什么是iPad用户代理?

时间:2010-01-28 10:48:00

标签: ipad user-agent

据我所知,iPad正在使用iPhone OS,但屏幕分辨率与iPhone和iPod touch不同。许多网站可能不得不改变其用户代理检测以适应iPad。

那么,有权访问iPad或iPad SDK的人是否可以为我们提供用户代理字符串?

14 个答案:

答案 0 :(得分:127)

  

Mozilla / 5.0(iPad; U; CPU iPhone OS 3_2,如Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML,类似Gecko)版本/ 4.0.4 Mobile / 7B314 Safari / 531.21.10

答案 1 :(得分:29)

模拟器中,在iPad模式下:

  

Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10_5_8; zh-CN)AppleWebKit / 531.9(KHTML,类似Gecko)版本/ 4.0.3 Safari / 531.9 (这个适用于3.2 beta 1)

     

Mozilla / 5.0(iPad; U; CPU OS 3_2,如Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML,类似Gecko)版本/ 4.0.4 Mobile / 7B334b Safari / 531.21.10 (这是针对3.2 beta 3)

并在iPhone模式下:

  

Mozilla / 5.0(iPhone; U; CPU iPhone OS 3_2,如Mac OS X; en-us)AppleWebKit / 531.21.20(KHTML,如Gecko)Mobile / 7B298g

我不知道模拟器有多可靠,但似乎你无法通过用户代理字符串检测设备是否是iPad。

(注意:我在Snow Leopard上,Safari的用户代理字符串是

  

Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10_6_2; zh-CN)AppleWebKit / 531.21.8(KHTML,与Gecko一样)Version / 4.0.4 Safari / 531.21.10

答案 2 :(得分:16)

来自真实设备:

Mozilla/5.0 (iPad; U; CPU OS OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10

答案 3 :(得分:10)

答案 4 :(得分:7)

iPad 4.3下的4.3.5:

  

Mozilla / 5.0(iPad; U; CPU OS 4_3_5,如Mac OS X; en-us)AppleWebKit / 533.17.9(KHTML,类似Gecko)版本/ 5.0.2 Mobile / 8L1 Safari / 6533.18.5

答案 5 :(得分:6)

我说:

  

Mozilla / 5.0(iPad; U; CPU OS 4_3,如Mac OS X; da-dk)AppleWebKit / 533.17.9(KHTML,类似Gecko)版本/ 5.0.2 Mobile / 8F190 Safari / 6533.18.5

答案 6 :(得分:4)

你走了!

  

Mozilla / 5.0(iPad; U; CPU OS 3_2,如Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML,类似Gecko)版本/ 4.0.4 Mobile / 7B334b Safari / 531.21.10

答案 7 :(得分:3)

似乎普遍认为每个移动苹果设备,iphone,ipad或ipod都使用包含“移动”和“Safari”的用户代理。

但是,使用最新的SDK(4.0.1)并在我的rails服务器上读取用户代理(使用request.env["HTTP_USER_AGENT"]),我们永远不会得到'Safari'部分。

无论请求是从模拟器还是真实设备,调试或发布,它总是看起来像这样:

  

Mozilla / 5.0(iPhone; U; CPU iPhone OS 3_1_2,如Mac OS X; de-de)   AppleWebKit / 528.18(KHTML,像Gecko)Mobile / 7D11“

没有'Safari'。 :-(所以我们必须使用'iPhone'部分来确定。这是苹果不建议做的事情。

答案 8 :(得分:2)

从Simulator 3.2 final:

  

Mozilla / 5.0(iPad; U; CPU OS 3_2之类的   Mac OS X; en-us)AppleWebKit / 531.21.10   (KHTML,与Gecko一样)版本/ 4.0.4   手机/ 7B367 Safari / 531.21.10

答案 9 :(得分:2)

iPhone OS 3.2 SDK beta 3中的iPad用户代理字符串上的Safari:

  

Mozilla / 5.0(iPad; U; CPU OS 3_2之类的   Mac OS X; en-us)AppleWebKit / 531.21.10   (KHTML,与Gecko一样)版本/ 4.0.4   手机/ 7B334b Safari / 531.21.10

更多信息: http://developer.apple.com/library/safari/#technotes/tn2010/tn2262/_index.html

答案 10 :(得分:1)

我认为值得一提的是,您通常不需要使用整个代理字符串,除非您找到需要根据特定模型定制网站的原因。

您可以在代理字符串中检查iPhone,iPad和iPod,并覆盖所有基础。

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
    appleMobileDevice = true;
}
else {
    appleMobileDevice = false;
}

答案 11 :(得分:1)

从iOS 13开始,找不到'iPad',我使用此js current-device,它可以正常工作。

此核心:

const iPadOS13Up = navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1

https://github.com/matthewhudson/current-device/blob/master/src/index.js#L55

您可以看到自己的死亡类型:http://matthewhudson.github.io/current-device/

答案 12 :(得分:0)

仅限iPad

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

答案 13 :(得分:0)

(大约10年后...)

iOS 13 ,iPad的用户代理已更改为Mac OS,例如:

  

Mozilla / 5.0(Macintosh; Intel Mac OS X 10_15)AppleWebKit / 605.1.15(KHTML,like Gecko)Version / 13.0 Safari / 605.1.15