モバイルデバイスを検出するための最良の方法は何ですか?

jQueryでユーザーがモバイルデバイスを使用しているかどうかを検知する確実な方法はありますか?CSSの@media属性のようなものですか?ブラウザが携帯端末を使用している場合は、別のスクリプトを実行したいと考えています。

jQueryの$.browser関数は、私が求めているものではありません。

モバイルデバイスを検出しようとしているのは、「ブラウザ・スニッフィング」のコンセプトに少し近づきすぎていると思います。それよりも、機能の検出を行った方がはるかに良いでしょう。http://www.modernizr.com/ のようなライブラリがそれに役立ちます。

例えば、モバイルと非モバイルの境界はどこにあるのでしょうか?それは日に日に曖昧になっていきます。

解説 (10)

jQueryではありませんが、http://detectmobilebrowser.com/ を見つけました。

いくつかの言語でモバイルブラウザを検出するためのスクリプトを提供していますが、そのうちの1つがJavaScriptです。あなたが探しているものに役立つかもしれません。

しかし、あなたはjQueryを使用しているので、jQuery.supportコレクションを知っておくとよいでしょう。これは、現在のブラウザの機能を検出するためのプロパティのコレクションです。ドキュメントはこちら: http://api.jquery.com/jQuery.support/

あなたが何をしようとしているのか正確にはわからないので、これらのうちどれが一番役に立つのかわかりません。

とはいえ、最善の策は、リダイレクトするか、サーバーサイドの言語を使って出力に別のスクリプトを書くことだと思います(それが可能であれば)。あなたはモバイルブラウザxの機能をよく知らないので、検出と変更のロジックをサーバーサイドで行うことが最も確実な方法でしょう。もちろん、サーバーサイドの言語が使えなければ意味がありませんが :)

解説 (9)

小さなディスプレイを特に気にしないのであれば、幅と高さの検出を使用することができます。幅が一定のサイズ以下の場合、モバイルサイトが表示されるようにします。完璧な方法ではないかもしれませんが、複数のデバイスを検出するには最も簡単な方法でしょう。iPhone 4(解像度が大きい)用に特別なものを入れる必要があるかもしれません。

解説 (0)