1

我正在构建我的网站的移动版本,此时,创建一个备用样式表就足以使该网站适用于移动设备。我想使用用户代理检测 PHP 脚本来检测平台,并相应地切换样式表。有没有办法做到这一点?

4

3 回答 3

3

您可能想尝试一个库来检查它是否是移动设备,然后您可以尝试这个库:http ://code.google.com/p/php-mobile-detect/ (这也支持检测特定的操作系统)

然后有类似的代码

if($detect->isiOS()){
    echo <link rel="stylesheet" type="text/css" href="iOSstyle.css" />;
}
else if ($detect->isMobile()) {
   echo <link rel="stylesheet" type="text/css" href="mobile.css" />;
}
else{
  echo <link rel="stylesheet" type="text/css" href="normal.css" />;
}

FYI, these libraries are dependent on the User-Agent value in the header and other headers too.

于 2012-06-29T03:32:33.973 回答
1

试试这个(用伪代码编写的 if 条件,因为我没有使用过 WURLF):

<?php
if (device is mobile) {
    echo "<link rel='stylesheet' type='text/css' href='mobile.css' />";
}else{
    echo "<link rel='stylesheet' type='text/css' href='monitor.css' />";
?>

将此代码放在您通常拥有 CSS 链接的位置。

于 2012-06-29T03:31:38.317 回答
0

我之前所做的是将当前状态(移动/桌面)存储在会话变量中。然后你可以有一个“查看桌面/移动版本”链接来切换会话变量。渲染每个页面时,在会话变量上使用 if 语句来确定要显示的样式表。我建议您将此逻辑分离为一个函数以供重复使用,这样您就不必在重构时编辑 20 个不同的页面。

如果要自动检测移动浏览器,可以使用WURLFphp-mobile-detect

于 2012-06-29T03:32:30.713 回答