window.innerWidth PHP中的JavaScript值

时间:2015-12-23 19:17:46

标签: javascript php

我想根据window.innerWidth设置PHP变量。

出于测试目的,我将浏览器设置为全尺寸,document.write(window.innerWidth);返回1920,这似乎是正确的。

但是,下面的代码总是返回"小"对于PHP变量$window_size

<script>
 if(window.innerWidth > 1000){
    <?php $window_size = 'big'; ?>
 } else {
    <?php $window_size = 'small'; ?>
 }
</script>

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

你不能在后端以这种方式确定窗口大小,JS需要在某个时刻将这些数据发送到后端,以便知道窗口大小。

<script>
 var windowSize;
 if(window.innerWidth > 1000){
    windowSize = 'big';
 } else {
    windowSize = 'small';
 }
 $.ajax({ url: 'some/back/end', data: windowSize }); // send to server.
</script>

这是因为您的后端PHP生成HTML。因此,您的浏览器然后获取HTML(其中包含JS),然后运行它。到那时,那些PHP语句已经执行,服务器也不知道它们。

所以你的PHP脚本被执行并执行以下操作

<?php $window_size = 'big'; ?>
<?php $window_size = 'small'; ?>

它忽略了if,因为它不是PHP if语句,因此$window_size的值总是small