5

Mobile-Detect ライブラリを使用して一部のモバイル デバイスを検出し、モバイルに変更すると、iOSは正常に動作しますが、Samsung Galaxy S4 は検出されません

PHP

require_once 'php/Mobile_Detect.php';
$detect = new Mobile_Detect;
if ($detect->isMobile()){
   include_once 'php/header-full.php';
} else {
    include_once 'desktop.php';
}

Mobile_Detect バージョン 2.7.6。 テスト サイト。

4

8 に答える 8

1

Samsung S4 からhttp://demo.mobiledetect.net/ にアクセスしたところ、完全に機能しました。おそらく、ライブラリを更新するか、設定を確認する必要があるだけです。とにかく、私はクロムを使用し、すべての設定はデフォルトのものであり、すべて正常に機能したため、おそらく最新のライブラリを入手すれば、他に何も気にする必要はありません.

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

于 2014-01-24T02:22:01.450 に答える
0

ライブラリがこの電話をサポートしていない場合は、PHP を使用してユーザー エージェントを手動で確認できます。ユーザー エージェントは、次の PHP 変数に格納されます。

$_SERVER['HTTP_USER_AGENT']

電話のユーザーエージェントと比較してください。携帯電話のユーザー エージェント (特に samsung デバイスの場合) を見つけるには、まずここでモデル ID を見つけます。

ご覧のとおり、Samsung Galaxy S4 のモデル ID は「GT-I9500」であるため、ユーザー エージェントは通常、「Mozilla/5.0 (Linux; Android 4.2.2; GT-I9500」) で始まります。

Android のバージョンは異なる可能性があるため、ユーザー エージェントでモデル ID を検索するだけです。例えば:

if (strpos($_SERVER['HTTP_USER_AGENT'], "GT-I9500") !== FALSE)
    print "Samsung Galaxy S4";

電話のブラウザがユーザー エージェント ヘッダーをまったく送信しない別のケースがあります。この場合、電話のブラウザで実行され、ユーザー エージェントを送信する JavaScript コードを記述できます。このために、次の JavaScript 変数があります。

navigator.userAgent

ajax を使用してサーバーに送信したり、JavaScript コードを使用してケースを処理したりできます。

幸運を!

于 2014-01-22T09:12:43.987 に答える
0

このコードを挿入して、何が起こるか見てください

echo $_SERVER['HTTP_USER_AGENT'];

何も表示されない場合は、プロキシを使用している可能性があります。または、ブラウザがユーザーエージェント文字列でモバイルに関する情報を提供しません

上記が機能している場合、問題はphp検出ファイルにある可能性があります

于 2014-01-15T06:48:04.860 に答える
0

クラスMobile Detect を試してください。それはオープンソースです。次のリンクを参照してください

参照リンク

私の例も試してみてください

私の例については、ここをクリックしてください

于 2014-01-22T18:39:11.840 に答える
0

Samsung S4 から、次のサイトにアクセスします: http://demo.mobiledetect.net/。S4から試してみたところ、サイトに「携帯です」と表示されました。したがって、ライブラリは S4 を適切に検出しています。

また、携帯電話からhttp://whatismyuseragent.comにアクセスしてください。電話から Web サーバーに送信されているユーザー エージェント文字列を確認します。

于 2014-01-17T12:12:56.713 に答える
0

あなたの問題は、Android スマートフォンをデスクトップ モードで実行している可能性が最も高いです。

デスクトップ モードでは、次の UA が得られます。

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (Gecko のような KHTML) Chrome/11.0.696.34 Safari/534.24

そうでない場合は、次のように識別されます。

Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; GT-I9300 Build/IMM76K) AppleWebKit/534.30 (Gecko のような KHTML) バージョン/4.0 Mobile Safari/534.30

詳細については、こちらをご覧ください。

Galaxy S3で動作しないwurflまたはmobiledetect.netで携帯電話を検出する

于 2014-01-24T05:05:12.297 に答える