我正在使用W3 Total Cache来缓存我的WordPress页面、文章等。
现在我创建了一个按钮,设置了一个会话变量,告诉服务器用户是想要移动设备还是桌面视图,并调用了这个函数:
<?php function mobile_css() {
if(is_mobile() && !isset($_SESSION['mobile'])) : ?>
<link type="text/css" media="all" rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/mobile.css" />
<?php elseif($_SESSION['mobile'] == "ja") : ?>
<link type="text/css" media="all" rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/mobile.css" />
<?php endif;
}
问题在于页面在第一次加载时被缓存。因此,如果我使用会话移动设备打开页面,则显示移动版本;如果我切换到桌面设备并再次访问该页面,则仍然显示移动版本,因为它已经被缓存了,是第一次请求的结果。
有人有什么想法可以防止这种情况发生吗?