Maison > Article > développement back-end > javascript - JS获得screensize变量怎么传给PHP以调用不同图片?
网站想做成自适应的,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只要调整就好了,而不是传递给php处理,例如
这种格式不容易处理浏览器端缓存,影响页面二次打开的速度。
另外,你可能不明白php工作原理。对于php来说,js只是被php处理并输出的字符串,即js代码执行的时候php进程早就关闭了。php在服务器端运行,js在浏览器端运行,两者不能随时交互。
自己百度一下srcset这个标签,张鑫旭有几篇讲这个的