我想要做的是让我的网站获得访问者获得的窗口的当前宽度。然后我想要两个不同的选项。像这样:
<script>
if (screen.width < 768) {
<?php $a = 1; ?>
} else {
<?php $a = 2; ?>
}
</script>
我想要做的是我的php变量应该根据设备宽度而改变。
这是最简单的方法吗?我无法编写或理解单行AJAX,所以如果这是我对某种指南非常满意的唯一方法,以使其尽可能简单。
用css制作它不是正确的方法。所以,请不要告诉我一些与css有关的事情。
编辑:
我不确定你们是否理解我真正希望从这段代码中得到什么。
所以我会更具体地写出来。
我有一个网站顶部有一个图片滑块,显示了2条最新消息。在这之下,我有一个查询设置为偏移2的帖子,因为我不想查询我在滑块中的相同新闻。
所以我的代码是这样的:
<?php
$offset = 2;
$showposts = 10;
?>
<?php query_posts(array('offset' => $offset, 'showposts' => $showposts,'cat' => '8')); ?>
我无法进行两个不同的查询,因为我的广告脚本无法加载超过1次,因为它们根本不会显示。所以这一切都需要在一个查询中完成,这就是必须根据设备宽度进行更改的原因。
现在我忘了告诉我的版本宽度&lt; 768我让我的滑块消失,因此我想将偏移量设为0而不是2.
我希望这更有意义......
答案 0 :(得分:1)
您可以使用cookie在JS和PHP之间进行通信。
这是设置或更新cookie的JS:
document.cookie = "someKey=someVal; path=/;";
然后您可以使用$_COOKIE["someKey"]
访问PHP中的数据。
有些PHP脚本尝试从用户代理检测设备类型,这是我在此cookie不可用时使用的(首页加载)。因此,我可以在页面加载之前根据智能猜测更改我的UI。
答案 1 :(得分:1)
您必须使用AJAX的简单方法。然后,您将能够向服务器发出请求并执行某个脚本。
$.post("http://yoursite.com/script.json", { windowsWidth: screen.width });
您可以在变量上接收窗口宽度,然后在脚本中执行任何操作。
答案 2 :(得分:-1)
尝试这样的事情:
var w = $(document).width(); // if you are using jquery
var v;
if (w < 768)
v = <?php echo $var;?>;
else
v = <?php echo $var2;?>;