jQueryユーザーエージェントからブラウザの情報をピックアップしてクラスを付与するjQueryプラグインを作ってみました。パソコン・スマートフォンの他に、JavaScriptの使用が可能だと思われるゲーム機・テレビ・ガラケーのブラウザも判別対象としています。);対象にしたHTML要素にプラグインが得た情報に基づいたクラスを付与します。Option全てtrueまたはfalseで指定。trueにしたものをクラスに追加します。trueversionブラウザバージョンスマホの場合はOSのバージョンクラスで出力する時はピリオドをアンダーバーに変換し、先頭にvをつける。falseとりあえず判別できそうなユーザーエージェントを持つ機種を全部つっこんでみたんですが、モノによってはjQueryが実行できなくて判別できないというものがあるかもしれません。glue]])プラグインが生成した情報を返します。‘all’separatorで指定した文字列をキーと値の間に、glueで指定した文字列を各値の間に使用して全ての情報を返します。半角コロンと改行タグ。キーを指定オプションと同じキーを文字列で指定した場合は、対応する値だけ返します。$.browser.agentプラグインが生成した情報の格納場所。キーはプラグインのオプションと同じです。判別ルールに関するメモ正規表現が分かる人ならソースを読んだ方が早いかもしれません。0以上全部真である場合にスマホとみなしてます。version]末尾を見るとSafariなのかそうでないのかが分かる。末尾から2つ目を【A】、1つ目を〔B〕とします。他のブラウザスマホの場合は以下のように機種名が入っているので、まずそれで判別をして振り分けてます。[locale])Android基本的にはWebkitと同じ。Build/[version])GeckoパソコンでなければOSとかが入っているカッコの中にその機種名とかが入ります。Locale;][Token])Mozilla/5.0等の後に[ja]などと言語トークンが入るブラウザもあるらしい。Flagに機種名が、iPadやAndroidでないタブレット端末の場合はPDAが、ネット接続可能なテレビのブラウザだとDTVが入り、そのほかは大抵OSの名前です。ブラウザ名は末尾で判別。(いろいろ)TridentIEなのにMozillaってついてるのは歴史的な事情によるもので、判別はMSIEという文字列で可能。プラグインはjQuery.browser.msieによってTridentかどうかを区別してます。Tokenまではどのブラウザでも同じみたいです。IEでない場合はその後に続くOption部分にブラウザ名が入るんですが、位置がマチマチなので比較的知名度の高いもの以外はすべてIEとしています。version]Opera10以降は冒頭がOpera/9.80で固定となっていて、末尾のVersionの後に続く数値が本来のブラウザバージョンになりますが、それ以前のバージョンの場合は冒頭の数値がブラウザバージョンです。OperaではなくMozillaだったりするものもあるようです。FlagかOptionの所に機種名が入っています。ガラケーのPCサイトビューアー&フルブラウザキャリア名等で3社判別してからユーザーエージェントで機種名とかを絞り出しています。(N901iS;FOMA;c300;TB;W24H12)au公式発表されてないのですが、どうもOperaらしいです。NetFront/3.5テレビ等の家電ブラウザレンダリングエンジンはTridentだったりNetFrontだったりGeckoだったりと色々なんですが、InettvBrowserというブラウザ名らしき文字列が入るようなので、それがあるかないかで判別してます。Softbankauのフルブラウザ携帯のUserAgentを教えてください。