PHP 变量根据设备宽度而变化
PHP variable change based on device width
我想做的是让我的网站获得访问者拥有的窗口的当前宽度。然后我想有两个不同的选择。像这样:
<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。
我希望这更有意义...
您可以使用 cookie 在 JS 和 PHP 之间进行通信。
以下是设置或更新 cookie 的 JS:
document.cookie = "someKey=someVal; path=/;";
然后您可以使用$_COOKIE["someKey"]
访问 PHP 中的数据。
有一些PHP脚本试图从用户代理中检测设备类型,这就是我在此cookie不可用(第一页加载)时使用的。因此,我可以在页面加载之前根据智能猜测更改我的 UI。
你必须这样做的一个简单方法是使用 AJAX。然后,您将能够向服务器发出请求并执行某些脚本。
$.post("http://yoursite.com/script.json", { windowsWidth: screen.width });
您可以接收变量的窗口宽度,然后在脚本中执行任何您想要的操作。
尝试这样的事情:
var w = $(document).width(); // if you are using jquery
var v;
if (w < 768)
v = <?php echo $var;?>;
else
v = <?php echo $var2;?>;
- 重新加载页面时Javascript变量发生变化
- 如何检测和打印变化变量LESS
- 当变量发生变化时运行PHP
- 使用 jquery 检测变量变化
- 如果两个值都会动态变化,则用变量替换某个字符串的一部分 - Javascript
- 为什么 Angular 没有注意到这个变量的值发生了变化
- 如何防止变量在 JavaScript 中发生变化
- 为什么这个变量在函数之间传递时会发生变化
- 指令侦听控制器变量的变化
- JAVASCRIPT 变量在函数中没有变化
- 双向绑定不识别 AngularJS 中的变量变化
- 角度范围之外的变量的变化
- 设置路由时,角度范围变量会发生变化
- PHP 变量根据设备宽度而变化
- 原型取决于全局变量(如果该变量发生变化怎么办)
- 范围变量以角度更新,但变化不会反映给用户
- 在.then()单元测试中AngularJS$作用域变量的变化
- 全局变量不't随jquery函数变化
- 如何在函数中有一个动态变量,而不将其链接到变化的变量
- 函数外部的函数变化变量