はい
ユーザーエージェント文字列から機能を推測することは、弱くてエラーが発生しやすいテストです。比較的一般的ですが、この日と年齢では、それは確かに悪い習慣と考えられています。
たとえば、jqueryには、ユーザーが使用しているブラウザーを検出するための関数があり、バージョン1.3以降は使用されていません。
したがって、UserAgentスニッフィングを行って、ブラウザが何であるか、または何が可能かを判断しないでください。
ベストプラクティス
ブラウザの機能の違いを処理するために受け入れられているベストプラクティスは、機能検出を使用することです。
これにはいくつかのライブラリがありますが、最もよく知られているのは、おそらく:Modernizrです。Modernizrを使用すると、ブラウザの機能に合わせてJavaScriptを簡単に調整できます。利用可能なものを検出することで機能します。UserAgent文字列(最後の手段としてのフォールバックを除く)に基づいて推測せず、単純にhtmlタグにクラスを追加します。これにより、jsでさまざまなケースを簡単に処理できるだけでなく、cssだけで特定の欠陥に対処することもできます。例(純粋に説明のみ):
ul.menu {
display:none;
}
ul.menu:hover {
display:block;
}
# A touch device can have no hover - so show it always
html.notouch ul.menu {
display: block;
}