StylesSwitcher或ThemesSwitcher,允许用户从移动设备切换回标准视图

时间:2012-02-27 作者:Sarah

我用CSS创建了一个移动版的网站,所有样式都在一个样式表中(使用@media only screen and (max-width: 480px), only screen and (max-device-width: 480px) 定义移动样式)。当它都在一个样式表中时,它工作得很好。

但我想允许用户切换回标准视图,即使他们从移动设备查看站点。我不知道如何允许用户覆盖@media, 所以我似乎有两个选择:(1)单独的样式表加上样式切换脚本,或者(2)单独的主题加上主题切换。

理论上,样式切换器应该可以做到这一点,但我不知道如何让样式切换器覆盖标题中的媒体声明,所以即使我单击“切换回标准视图”,它仍然会加载移动样式表。

于是我开始调查这些巫师。我想检测移动用户,并在默认情况下将他们引导到移动主题,但仍然允许他们在需要时切换回移动主题。

这基本上就是WP Mobile Pack插件所做的,但它有很多我不需要的额外功能,我读过一些关于它修改数据库方式的恐怖故事。我也不需要所有预先构建的移动主题,因为我已经编写了移动版本所需的CSS。

有谁能推荐一个更轻量级的解决方案,比如一个简单的主题切换脚本和一个不需要我在标题中定义媒体查询的移动检测插件?

2 个回复
SO网友:Kelley van Evert

通过$\\u会话变量切换移动/桌面难道还不够吗?让“切换到桌面链接”包含如下内容?switchtodesktop=1 标题包含如下内容

session_start();
if ($_GET[\'switchtodesktop\']) {
  $_SESSION[\'switchtodesktop\'] = true;
}
$desktop = isset($_SESSION[\'switchtodesktop\']);
[...]
if ($desktop) {
  // only desktop css without media queries
} else {
  // default stuff (media queries, like you have now ..)
}

SO网友:kaiser

您可以使用global $is_iphone 确定您是否在移动设备上。不要在乎名字。它还可以捕获其他设备。

结束

相关推荐

什么是标准的管理员css id/类标签?

是否有一个WordPress CSS id/类的列表,我可以用来构建插件选项屏幕,使其看起来和感觉更像一个普通的WordPress选项页面?我通过偶然发现发现了一些,但如果有一个列表就好了。例如,此类:button primary使按钮如下所示: