2011.04.28下記に記載の内容では、2015年現在新たに登場してきているOSまで対象にするには限界がありますので、Mobileの判定をMobileとTabletにだけフィーチャーさせた2015年版JavaScriptユーザエージェント判別もあわせてご参照ください。jQuery.supportだけで代表的なブラウザの判別を行うことができなくなってしまったので、UA情報には依存しないブラウザがサポートしている機能でブラウザ判別を行う試みです。Phoneに限ってはUA情報に依存する必要があります。条件分岐のコード自体で、何のために条件分岐しているのかが一目瞭然になってると便利というわけで作ったスニペットです。ltIE6は、addEventListenerに対応しておらず、且つmaxHeightに対応していないという条件でIE6以下を導き出しています。ltIE7は、addEventListenerに対応しておらず、且つIE8から対応のquerySelectorAllに対応していないという条件でIE7以下を導き出しています。ltIE8は、addEventListenerに対応しておらず、且つIE9から対応のgetElementsByClassNameに対応していないという条件でIE8以下を導き出しています。IE9以下は、IEオリジナルのオブジェクトであるdocument.uniqueIDオブジェクトをもっていることと、IE10から対応しているwindow.matchMediaオブジェクトをもっていないことで導き出しています。11であればIE11以上を対象にすることができます。window.operaは旧Presto版Operaしかもっていないオリジナルのオブジェクトで、MozAppearanceはFirefoxしかもっていないオリジナルのdocumentElement.styleプロパティで、window.choromeはChromium限定のChromeとBlink版Operaしかもっていないオリジナルのオブジェクトでそれぞれを導き出しています。Webkitは、WebkitAppearance単独ではChromeもBlink版Operaももっているので、Chromium限定のwindow.chromeはもっていないことを条件で導き出しています。Mobileは、window.orientationがundefined以外の何かしらの値をもっているということは傾きを判定できるスマートフォンやタブレット(iOS4以上、Android2.3以上、BlackBerry)のモバイル端末であると導き出しています。Phoneの文字列があるかどうかでモバイル端末であると導き出しています。APIをAndroidはAndroid4.4からサポートしたため、これをサポートしていないことを条件にAndroidのみのAndroid4.3以下であることを導き出してます。タッチ周りはそれぞれイベントに対応しているかどうかで導き出しています。//この中のコードはデスクトップのマウス、タッチ、ペンデバイス対応IE10用}という具合に使います。上で紹介しているスニペットは、用途にあわせて増やしたり減らしてたりしてもらうと、さらに便利になるんじゃないでしょうか。複数人での開発とかには。サンプルPHPでTwitterのハッシュタグとスクリーンネームをリンクに置き換える正規表現フロントエンド高速化アプローチContactWeb制作に関するご相談、お気軽にお問い合わせください。StandardsAppendixBlogWorksAboutコンセプト会社概要デザイナー募集ContactSubscribeTwitterFacebookGoogle+。