4

ユーザーエージェント文字列から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

だから私の上記のコードは壊れています...

4

1 に答える 1

1

コメントで提案されているように、デバイス検出の代わりに機能検出を使用することを強くお勧めします。機能検出によく使用されるライブラリの 1 つにmodernizrがあります。

デバイス検出を使用する必要がある場合、この要点は基本的にコードが機能するはずであると述べています。

于 2012-12-03T13:41:26.247 に答える