3

私はレスポンシブサイトを開発していますが、ユーザーがモバイルデバイスでブラウジングしているときに、サイト上のフリーダイヤル番号を固定電話に交換するように求められました。ユーザーがModernizrライブラリ(または他のライブラリ)を使用してモバイルデバイスを使用しているかどうかを検出するための最も信頼できる方法は何ですか?

私はModernizr.touchとModernizr.geolocationを知っています。2つをステートメントで組み合わせるとif(Modernizr.touch && Modernizr.geolocation)、モバイルデバイスを使用しているかどうかを示す良い指標になりますが、iPadはこれらの両方の属性を真にします。モバイルデバイスがどんどん大きくなっているので、デバイスサイズをテストするのは気が進まない!

誰かがこれに以前に取り組んだことがありますか?

4

3 に答える 3

3

Modernizr API メソッドを使用するModernizr.mq(str)

例:

Modernizr.mq('only all and (max-width: 400px)')
于 2012-09-06T11:38:07.723 に答える
2

私は自分のウェブサイトでこの PHP ライブラリを使用しています: http://code.google.com/p/php-mobile-detect/

JavaScript ライブラリよりもこれをお勧めします。これは、モバイル デバイスで実行する処理が少なくなり、複数のデバイスを対象とする条件ステートメントがなくても Web ページ コードがよりクリーンになることを意味するためです。

注意点 (そう呼びたい場合) は、維持する Web サイトのバージョンが 2 つあるということです。表示するコンテンツを決定するための条件付きステートメントを使用して Web ページを維持することに比べて比較検討した場合、私自身はこれを問題とは考えていません。ルート ディレクトリにデスクトップ フォルダとモバイル フォルダがあります。

私は単純にisMobileメソッドを使用し、残りのほとんどを無視しますが、必要に応じて特定のデバイス タイプをフィルタリングしてターゲットにするために使用できます。

例:

 // Include the mobile detection file.
 require('Mobile_Detect.php');

 // Create new mobile detect object.
 $detect = new Mobile_Detect();
 // Create new browser object
 $browser = new Browser();
 // Check if the client is using a mobile device.
 $mobile = $detect->isMobile();

 ...

 if($mobile) {
     //Load mobile site version
     require('Mobile\\index.html');
 } else {
     //Load desktop site version
     require('Desktop\\index.html');
 }

あなたの場合、変更したいのが数字だけであれば、JavaScript がより良い解決策かもしれません。この回答は、モバイル対応のサイト全体を開発しようとしている人により適している可能性があります。

于 2012-09-06T11:45:14.320 に答える
1

似たようなものを探していて、一見うまくいくように見えたこれを試してみました。

http://detectmobilebrowsers.com/

于 2013-04-16T23:05:10.817 に答える