22

私は現在、モバイルの PHP 検出用のコードを検討していますが、これはおそらく非常に簡単です。

今、問題が 1 つあります。タブレット、モバイル、および Web ページ用の MVC フレームワークで独自のビュー ファイルを作成できるようにしたいのです。そのため、タブレットを残りのモバイル デバイスから分割する必要があります。

現在、これは私が使用しているコードです:

public function isMobile()
{   
    if(preg_match('/(alcatel|amoi|android|avantgo|blackberry|benq|cell|cricket|docomo|elaine|htc|iemobile|iphone|ipad|ipaq|ipod|j2me|java|midp|mini|mmp|mobi|motorola|nec-|nokia|palm|panasonic|philips|phone|sagem|sharp|sie-|smartphone|sony|symbian|t-mobile|telus|up\.browser|up\.link|vodafone|wap|webos|wireless|xda|xoom|zte)/i', $_SERVER['HTTP_USER_AGENT']))
    return true;
else
    return false;
}

しかし、これだけでは十分ではありません。唯一のチェックは、デバイスがモバイル デバイスであるかどうかです。そうでない場合は、フレームワークにコンピュータ上にいることを伝える標準的な方法です。最後の部分は問題ありませんが、モバイル デバイスを実際のモバイルと、タブレットである 2 番目のグループに分割したいと考えています。

私の希望が明確になったことを願っています。また、これを達成するための良い方法であなたが何らかの意見を持っていることを願っています.

前もって感謝します。

4

4 に答える 4

33

これは、各プラットフォームを個別に検出するためのメソッドを備えたクラスです。

于 2012-04-02T19:57:41.443 に答える
8

古い質問ですが、モバイル検出に関する私の意見は次のとおりです。

質問の中で、モバイル デバイス用に固有のファイルが必要であると述べています。その理由は、モバイル クライアントとデスクトップ クライアントに異なるバージョンの Web サイトを表示するためだと推測できます。

このアプローチは、ある時点までは問題ありません。そして、その点は Android と呼ばれます。320*240 から 2560*1600 までの解像度を持つ Android デバイスが毎日 150 万台までアクティブ化されているためif {} elseそれぞれのデバイスをアクティブにするのは困難です。使用頻度の高いデバイスだけを対象にリストを作成しても、将来的に新しいデバイスをサポートすることは困難です。

しばらく前の私のアプローチは、デバイスを「モバイル」と「デスクトップ」のカテゴリに分割する古い方法を忘れて、新しい方法を作成することでした。そして、その方法は、ブラウザーの機能に基づく「良い」ブラウザーと「悪い」ブラウザーで構成されます。たとえば、ブラウザーがローカル ストレージをサポートしている場合、それは "良い" カテゴリになります。

このことから始めて、UI の観点からは非常に基本的ですが、クロスブラウザーで動作する Web サイトの「ベース」バージョンを作成する可能性がありました。Web サイトのこの基本バージョンは、すべてのデバイスで同じコンテンツを表示し (結局のところ、これは重要なことです)、サイズが非常に小さく (アセットが少なく、html が小さい)、ブラウザー機能に基づいてクライアントで強化されます。側。

したがって、最終的には、フットプリントが非常に小さく ( html サイズとアセット)、クロスブラウザーで問題なく見え、市場に登場する新しいデバイスを変更せずにサポートし、接続が不十分であり、ブラウザの機能に基づいてクライアント側で強化できます。

デバイスのサイズに基づいて Web ページを充実させることもできます。ブラウザが大きな画面を報告する場合は、より多くのアセット、広告を取り込み、Web ページをより美しくすることができます。ブラウザー レポートが小さな画面に表示される場合は、そのままにしておきます。

于 2014-02-18T10:10:39.487 に答える
5

Mobile_Detect は、モバイル デバイス (タブレットを含む) を検出するための軽量の PHP クラスです。User-Agent 文字列を特定の HTTP ヘッダーと組み合わせて使用​​し、モバイル環境を検出します。— 続きを読む http://mobiledetect.net

于 2013-06-10T11:18:05.800 に答える