Home  >  Article  >  Backend Development  >  javascript - JS获得screensize变量怎么传给PHP以调用不同图片?

javascript - JS获得screensize变量怎么传给PHP以调用不同图片?

WBOY
WBOYOriginal
2016-06-06 20:08:251107browse

网站想做成自适应的,php会自动生成的不同尺寸的摘要缩略图,但是php没办法获取用户屏幕尺寸,只能靠js来获取,js获取后传进php的数据是string类型,用(int) intval()都无法转换成整数,无法做数值比较,求解~!

<code><script type="text/javascript">
    var sw = document.body.clientWidth;
</script>
<?php $sw = "<script type=text/javascript>document.write(sw)";
$sw_int = (int)$sw;
if ($sw_int > 1600) {
    //调用1600宽的图片
} elseif ($sw_int > 1000) {
    //调用1000宽的图片
} else {
    //调用800宽的图片
}
?></code>

回复内容:

网站想做成自适应的,php会自动生成的不同尺寸的摘要缩略图,但是php没办法获取用户屏幕尺寸,只能靠js来获取,js获取后传进php的数据是string类型,用(int) intval()都无法转换成整数,无法做数值比较,求解~!

<code><script type="text/javascript">
    var sw = document.body.clientWidth;
</script>
<?php $sw = "<script type=text/javascript>document.write(sw)";
$sw_int = (int)$sw;
if ($sw_int > 1600) {
    //调用1600宽的图片
} elseif ($sw_int > 1000) {
    //调用1000宽的图片
} else {
    //调用800宽的图片
}
?></code>

这个通常不这样做,php生成不同尺寸的缩略图目的就是静态化,而且缩略图名称应该是规则的,比如image_0153431242_small.jpg, image_0153431242_middle.jpg, image_0153431242_big.jpg, image_0153431242_source.jpg这样
因此前端js只要调整javascript - JS获得screensize变量怎么传给PHP以调用不同图片?就好了,而不是传递给php处理,例如
javascript - JS获得screensize变量怎么传给PHP以调用不同图片?
这种格式不容易处理浏览器端缓存,影响页面二次打开的速度。

另外,你可能不明白php工作原理。对于php来说,js只是被php处理并输出的字符串,即js代码执行的时候php进程早就关闭了。php在服务器端运行,js在浏览器端运行,两者不能随时交互。

自己百度一下srcset这个标签,张鑫旭有几篇讲这个的

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn