【发布时间】:2015-11-10 14:01:58
【问题描述】:
$width 的值得到很好的回显,并且与浏览器宽度一致,但 if 语句不执行。
<?php
$width = "<script>document.write(window.outerWidth); </script>";
echo($width);
if ($width > 599) {
echo do_shortcode('[codepeople-html5-media-player id="1"]');
} else {?>
<img src="/wp-content/uploads/2015/04/copy-jandp-logo2.png" alt="logo" />
<?php } ?>
【问题讨论】:
-
$width 是一个字符串,而不是一个数字.... 在运行 PHP 的网络服务器上定义一个包含
$width = "<script>document.write(window.outerWidth); </script>"的字符串不会自动在网络浏览器上执行 JavaScript 函数并将结果返回给服务器上的 PHP -
这一切看起来像是前端代码,为什么还要在那里使用 PHP?这一切都可以用JS来完成。
-
您正在混合服务器端解析和客户端解析。也许做和 ajax 调用,其中包括你的宽度,解析你的简码,最后返回并显示它。或更好地使用 CSS(媒体查询)来隐藏您不需要的部分并显示您的图像
标签: php