Javascript 如何从用户代理字符串中查找所有版本的iPad?

Javascript 如何从用户代理字符串中查找所有版本的iPad?,javascript,ipad,user-agent,Javascript,Ipad,User Agent,我想从用户代理字符串中找出iPad的所有版本(不包括iPhone、iPod),目前在测试时,我得到了以下字符串 Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3 问题: 以下代码是否适用于所有iPad String userAgentStr = request.getHeader("User

我想从用户代理字符串中找出iPad的所有版本(不包括iPhone、iPod),目前在测试时,我得到了以下字符串

Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3
问题: 以下代码是否适用于所有iPad

String userAgentStr = request.getHeader("User-agent");
if (userAgentStr.contains("iPad"))
{
    //do my logic
}
编辑:

我正在使用iPad上的Dolphin浏览器,但我得到了以下UA字符串:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en_US) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8C148 Safari/6533.18.5
类似地,iPad UA字符串中的iBrowser是:

Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B206

因此,我上面的代码正在崩溃…

我强烈建议使用功能检测,而不是评论中建议的设备检测。一个常用于特征检测的库是


如果您必须使用设备检测,基本上是说您的代码应该可以工作。

可能,可能不,可能现在但不是将来……用户代理字符串因非X开始声称为X而臭名昭著,因为它(在某种程度上)与X兼容(该用户代理字符串不是来自Mozilla、OS X或Gecko,但匹配UA的字符串会告诉您它是)。不要使用UA。使用功能检测。@Quentin如何使用功能检测?这取决于您希望检测的功能。为什么要这样做?javascript字符串实例没有
contains
方法。Gist链接已断开。