Javascript 如何确定要在php中使用的变量window.width of screen.width?

Javascript 如何确定要在php中使用的变量window.width of screen.width?,javascript,php,jquery,variables,Javascript,Php,Jquery,Variables,我需要知道jQuery或JavaScript中的屏幕大小,并且需要在PHP变量中打印该值,该变量将确定是否显示项目 var width = $(window).width(); if (width <= 1024) { ///// How can I set a variable here and use it with PHP? } var-width=$(窗口).width(); 如果(widthmate,您从未从php代码中获得窗口宽度,php代码正在您的web服务器上执行

我需要知道jQuery或JavaScript中的屏幕大小,并且需要在PHP变量中打印该值,该变量将确定是否显示项目

var width = $(window).width();

if (width <= 1024) {
   ///// How can I set a variable here and use it with PHP?
}
var-width=$(窗口).width();

如果(widthmate,您从未从php代码中获得窗口宽度,php代码正在您的web服务器上执行,您只能从用户浏览器上运行的javascript中获得窗口大小,您只需找到一种方法,将从js获得的窗口宽度发送到php代码,就是这样

示例代码:

function myJavascriptFunction() { 
  var javascriptVariable = "John";
  window.location.href = "YOURPHPFILE.php?name=" + javascriptVariable; 
}

我想我理解你的要求,但如果我没有正确理解,请告诉我

一个立即浮现在脑海中的想法是,尽快收集视口宽度和高度信息,然后重新加载页面,但通过URL传递视口信息变量,并在PHP中接收它们

根据上面的建议,请尝试以下代码。通常,您将脚本放入onload函数中,但在这种情况下,您希望尽快获得维度

<script>
var width = window.innerWidth;
var height = window.innerHeight;
location = location+'?w='+width+'&h='+height;
</script>

变量宽度=window.innerWidth;
var height=window.innerHeight;
位置=位置+'?w='+宽度+'&h='+高度;
第二种选择是,您可以使用AJAX做一些复杂的事情。
第三个选项是可以使用CSS媒体查询的地方(如其他答案中所述).

如果您只想基于浏览器宽度显示元素,请使用和
display:none;
属性隐藏元素。

如您在问题中所述,您必须检查前端的正确宽度。您可以使用jQuery或纯JS

如果您想设置一些PHP变量并将其传递给PHP脚本,那么必须使用AJAX

同样,您可以将其用作jQuery中的普通JS(
XMLHttpRequest
对象)或
ajax
方法,如下所示:

JS代码:

var variableForPHP = <?php echo 'some_value' ?>;

$.ajax({
   url: 'script.php',
   method: 'post',
   dataType: 'json',
   data: {phpVariable: variableForPHP},
   success: function (respondFromPHP) {
     // do something after AJAX call
     console.log('respond from PHP: ' + respondFromPHP);
   }
});
<?php
  $variableFromAjax = $_POST['phpVariable'];    
  // do something
  var_dump($variableFromAjax);
  $respondToAjax = 'thanks for variable: '. $variableFromAjax;
  echo json_encode($respondToAjax);
?>
var variableForPHP=;
$.ajax({
url:'script.php',
方法:“post”,
数据类型:“json”,
数据:{phpVariable:variableForPHP},
成功:函数(respondFromPHP){
//在AJAX调用之后做些什么
log('respondFromPHP:'+respondFromPHP);
}
});
PHP代码:

var variableForPHP = <?php echo 'some_value' ?>;

$.ajax({
   url: 'script.php',
   method: 'post',
   dataType: 'json',
   data: {phpVariable: variableForPHP},
   success: function (respondFromPHP) {
     // do something after AJAX call
     console.log('respond from PHP: ' + respondFromPHP);
   }
});
<?php
  $variableFromAjax = $_POST['phpVariable'];    
  // do something
  var_dump($variableFromAjax);
  $respondToAjax = 'thanks for variable: '. $variableFromAjax;
  echo json_encode($respondToAjax);
?>


php不知道什么是屏幕isPHP是一种服务器端语言,用于创建网页并将其输出到浏览器。浏览器无法与创建网页的进程通信。因此,php在生成网页时无法对任何javascript做出反应。您需要在javascript Alonet中隐藏/显示该项,以重新迭代一个常见的回答:如果我理解了这个问题,需要根据页面宽度包含/排除一个项目。由于php在不知道页面宽度的情况下创建页面,当javascript确定页面宽度时,php已经完成了页面的创建,不再能够包含/排除任何内容……因此,可以继续向php发送页面宽度当创建下一页而不是当前页时,请提供帮助如果我理解这个问题,则需要根据页面宽度包含/排除项目。由于php创建页面时不知道页面宽度,所以当javascript确定页面宽度时,php已完成创建页面,不再能够包含/排除任何内容。。。因此,将页面宽度发送到PHP只能在创建下一个页面时有所帮助,而不是当前页面。谢谢!我会按照您所说的方式来尝试。@Renata,酷,伙计,别忘了勾选我的答案,lol,快乐编码!IE 8或更早版本将无法理解媒体查询。更新版本应该这样做,这要感谢CSS3支持。so a(旧IE特定)CSS/JavaScript替代方案可以使用旧的IE使用<代码>。我想是的。虽然在使用“现代”CSS时您可能不得不接受一些缺点。另一方面,IE 8和更旧的正濒临死亡,因此您可能会考虑不投入该工作。