Mozilla/5.0(Macintosh; U; Intel Mac OS X 10 _ 5 _ 8; en-us) AppleWebKit/531.9(KHTML,like Gecko) Version/4.0.3 Safari/531.9 < sub > (这是3.2 beta 1)
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 (这是3.2 beta 3版本)
以及 iPhone 模式:
Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.20 (KHTML, like Gecko) Mobile/7B298g
我不知道这个模拟器的可靠性如何,但是你似乎不能仅仅从用户代理字符串来判断这个设备是否是 iPad。
(注意: 我在 Snow Leopard 上,Safari 的用户代理字符串是
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10
由于 Apple 在 iOS 中非常有帮助地更改了用户代理字符串,你不能再可靠地使用 ipad/iphone 的正则表达式。
I suggest a combo of a regex for older and current iOS versions (/i(?:pad|phone)|mac os/i) with and additional check for navigator.maxTouchPoints. maxTouchPoints will always be 0 on a Macbook, but greater than 0 on an iPad, iPhone (usually 5).