PHP中的window.innerWidth JavaScript值
我想基于PHP中的window.innerWidth JavaScript值,javascript,php,Javascript,Php,我想基于window.innerWidth设置一个PHP变量 出于测试目的,我将浏览器设置为全尺寸和document.write(window.innerWidth)返回1920,这似乎是正确的 但是,下面的代码总是为PHP变量$window\u size返回“small” <script> if(window.innerWidth > 1000){ <?php $window_size = 'big'; ?> } else { <?php
window.innerWidth
设置一个PHP变量
出于测试目的,我将浏览器设置为全尺寸和document.write(window.innerWidth)
返回1920,这似乎是正确的
但是,下面的代码总是为PHP变量$window\u size
返回“small”
<script>
if(window.innerWidth > 1000){
<?php $window_size = 'big'; ?>
} else {
<?php $window_size = 'small'; ?>
}
</script>
如果(window.innerWidth>1000){
}否则{
}
有什么想法吗?您无法通过这种方式在后端确定窗口大小,JS需要在某个时候将此数据发送到后端,以便了解窗口大小
<script>
var windowSize;
if(window.innerWidth > 1000){
windowSize = 'big';
} else {
windowSize = 'small';
}
$.ajax({ url: 'some/back/end', data: windowSize }); // send to server.
</script>
var窗口大小;
如果(window.innerWidth>1000){
windowSize=‘大’;
}否则{
windowSize=‘小’;
}
$.ajax({url:'some/back/end',data:windowSize});//发送到服务器。
这是因为您的后端PHP生成HTML。因此,您的浏览器将获取HTML(其中包含JS),然后运行它。到那时,这些PHP语句已经执行,服务器不知道它们
因此,执行PHP脚本并执行以下操作
<?php $window_size = 'big'; ?>
<?php $window_size = 'small'; ?>
它忽略if,因为它不是一个PHP if语句,因此
$window\u size
的值总是小不能这样做,PHP是在服务器上处理的,而不是在浏览器中。这里有一个提示:PHP的用途是什么?php会生成什么?相关:如果你的If语句每次都比设置的值小多少?那么,不管是谁否决了,请解释原因。如果你想让php知道窗口大小,那么唯一的方法就是让JS将该信息发送到服务器。通过这种方式,服务器可以保存变量并在以后使用它。这可能被否决,因为您回答了一个非常常见的问题(这使它成为重复问题),而不是标记它。