0

我想做的是让我的网站获得访问者当前窗口的宽度。然后我想有两个不同的选择。像这样的东西:

<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 次,因为那样它们根本不会显示。所以这一切都需要在一个查询中完成,这就是为什么它必须根据设备宽度进行更改。

现在我忘了告诉我在宽度 < 768 的版本中,我让滑块消失了,因此我希望将偏移量设为 0 而不是 2。

我希望这更有意义...

4

3 回答 3

1

一个简单的方法是使用 AJAX。然后,您将能够向服务器发出请求并执行某些脚本。

$.post("http://yoursite.com/script.json",  { windowsWidth:  screen.width });

您可以在变量上接收窗口宽度,然后在脚本中执行您想要的任何操作。

于 2013-09-17T15:23:30.170 回答
1

您可以使用 cookie 在 JS 和 PHP 之间进行通信。

这是设置或更新cookie的JS:

document.cookie = "someKey=someVal; path=/;";

然后你就可以用$_COOKIE["someKey"]PHP 来访问数据了。

那里有 PHP 脚本试图从用户代理中检测设备类型,这就是我在此 cookie 不可用时使用的(第一页加载)。因此,我可以根据智能猜测在页面加载之前更改我的 UI。

于 2013-09-17T15:22:41.517 回答
-1

尝试这样的事情:

var w = $(document).width(); // if you are using jquery
var v;
if (w < 768)
    v = <?php echo $var;?>;
else
    v = <?php echo $var2;?>;
于 2013-09-17T15:25:10.897 回答