web-dev-qa-db-ja.com

モバイルデバイスを検出し、ユーザーエージェント情報を取得して、その情報をサーバー上のデータベースに1回だけ送信して保存するにはどうすればよいですか?

ユーザーエージェントをチェックし、その情報をサーバー上のデータベースに送信して保存するスクリプトはありますか?

m.facebook.comtouch.facebook.comのような2つのバージョンでモバイルWebサイトを作成していて、リダイレクトしたいさまざまな携帯電話に。そして私は[〜#〜] wurfl [〜#〜]デバイス検出を使用します。

したがって、たとえば、m.html5version.comはHTML5でサポートされているすべてのデバイスに配信され、m.mobileversion.comは他のすべてのモバイルに配信されます。

したがって、サーバー側またはクライアント側の方法を使用して、デバイスとブラウザーを初めて検出する方法が必要です。ユーザーがデバイスで初めてWebサイトを開くときは、デバイスとブラウザーに関する情報を収集し、既存のWURFLデータベースに情報を保存する必要があるため、スクリプトを実行する必要があります。したがって、次にユーザーが同じデバイスからアクセスするときは、デバイスに応じて、ウェブサイトのタッチバージョンまたはモバイルバージョンにリダイレクトされます。

したがって、最初のデバイスで初めてデバイスを検出して情報を保存したいと思います。

これを行う方法はありますか?

Android 1.6はHTML5をサポートしておらず、現在も使用されています。だから私はすべてのAndroid 1.6デバイスをm.mobileversion.comではなくtouch.mobileversion.comにリダイレクトしたい

そして、ウェブサイトのタッチバージョンでは、サポートされていない<header><footer><nav>などのHTML5タグを使用していますAndroid 1.6。だから私はAndroid 1.6デバイスからWebサイトにアクセスする最初のデバイスを検出したい。HTML5は1.6でサポートされていないため、ユーザーエージェントをデータベースに保存してから、次にユーザーを開くときに1.6のウェブサイトは自動的にlo-fiモバイルバージョンにリダイレクトされます。どのデバイスでも2回目の検出は必要ありません。

10
Jitendra Vyas

以下のリンクを参照してください、これはあなたのニーズに完全に適しています

http://detectmobilebrowser.com

以下はもう1つのスクリプトです:

http://detectmobilebrowsers.mobi

22
diEcho

これは興味深いので、jQueryのこれに対する見方を調べたいと思うかもしれません。

ブラウザの検出に加えて、ブラウザの機能も検出します。

http://api.jquery.com/jQuery.browser/

http://api.jquery.com/jQuery.support/

また、一部のモバイルユーザーは、モバイル向けに最適化されたデバイスにリダイレクトされることを望まないことに注意してください。私は、あるサイトが私のiPadをモバイルデバイスとして検出し、iPhoneで閲覧したくないずさんなモバイルサイトに私を(オーバーライドする可能性なしに)送信するとき、それを積極的に嫌います。

iOSとAndroidデバイスは、一般に、適切にコーディングされていれば、標準サイトで問題なく動作します。他の携帯電話はすぐに死にます。

4

データを一度だけ検出して保存する限り、Cookieを設定して、すでに検出を行ったことを記録することができます。次にページが読み込まれるときに、Cookieが存在するかどうかを確認します。存在しない場合は、検出関数を呼び出してデータベースに記録します。 Cookieが見つかった場合は、すでにデータを収集していることがわかり、再度実行することをスキップできます。

http://www.quirksmode.org/js/cookies.html

0
KOGI