据我所知,iPad正在使用iPhone OS,但屏幕分辨率与iPhone和iPod touch不同。许多网站可能不得不改变其用户代理检测以适应iPad。
那么,有权访问iPad或iPad SDK的人是否可以为我们提供用户代理字符串?
答案 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