需要使用PHP检测移动浏览器并为Joomla模板加载mobile.css文件

TCD*_*ory 1 css php mobile joomla detection

我需要通过php检测某人是否正在使用移动浏览器(媒体查询在这种情况下是不够的),然后加载一个mobile.css文件以覆盖几行css,因为缺少对某些代码的适当支持我使用.我正在构建一个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">";
}
?>
Run Code Online (Sandbox Code Playgroud)

pio*_*_cz 9

在Joomla中,内置了移动侦测功能.

如果您使用的是Joomla 3.0,您可以使用:

<?php
$templateUrl = $this->baseurl . '/templates/' . $this->template;
$doc         = JFactory::getDocument();
$appWeb      = new JApplicationWeb; // new JWebClient; (in Joomla 2.5)

if ($appWeb->client->mobile)
{
    $doc->addStyleSheet($templateUrl . '/css/mobile.css');
}
?>
Run Code Online (Sandbox Code Playgroud)

在Joomla 2.5或更低版本中你会使用 $appWeb = new JWebClient

在Joomla 3.4你可能会使用 if (JFactory::getApplication()->client->mobile)

我没有找到文档页面,但您可能始终检查源代码

顺便说一下,查看响应式框架.学习需要时间,但值得.