1

誰かがモバイル ブラウザーを使用しているかどうかを検出する必要があります (この状況ではメディア クエリでは十分ではありません)。php を介して、mobile.css ファイルをロードし、一部のコードが適切にサポートされていないため、css の数行をオーバーライドします。 m を使用しています。私は joomla テンプレートを作成しているので、css ファイルへのパスを動的に生成する必要があります。それで、私はこれを正しくやっていますか?例:

<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

if ($iphone || $android || $palmpre || $ipod || $berry == true) 
{ 
echo "<link rel="stylesheet" href="$this->baseurl/templates/$this->template/css/mobile.css" type="text/css">";
}
?>
4

3 に答える 3

2

Mobile_Detect のような利用可能なライブラリがあり、それらを使用して、デスクトップ、モバイル、またはタブレットのいずれかを使用しているチャネルを検出し、それに応じて css をロードできます。ここでダウンロードリンクを見つけることができます

次の手順に従います。

1 上記のリンクから Mobile_detect ファイルをダウンロードします。

2 ファイルをプロジェクトのいくつかのフォルダーに配置します

3 次に、チャネルがモバイルかデスクトップかを確認するページにそのファイルを含めます。つまり、mobile_detect.php (このようなもの) をインクルードします。 4) 次に、上記のファイルをインクルードしたら、これを実行します。

$this->detect = new Mobile_Detect;
$channel = 'desktop';

if ($this->detect->isTablet() || 't' == $_REQUEST['device']) {
    $channel = 'tablet';
} elseif ($this->detect->isMobile() || 'm' == $_REQUEST['device']) {
     $channel = 'mobile';
}

したがって、$channel 変数にはチャネルが含まれます。この変数を使用すると、$channel がデスクトップと等しくないかどうかを確認でき、モバイルになります。それに応じて mobile.css を読み込むことができます。それが役に立てば幸い。

于 2013-04-18T06:34:23.470 に答える