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

查看:154
本文介绍了javascript - JS获得screensize变量怎么传给PHP以调用不同图片?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

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

解决方案

这个通常不这样做,php生成不同尺寸的缩略图目的就是静态化,而且缩略图名称应该是规则的,比如image_0153431242_small.jpg, image_0153431242_middle.jpg, image_0153431242_big.jpg, image_0153431242_source.jpg这样
因此前端js只要调整<img src="?" />就好了,而不是传递给php处理,例如
<img src="/getimage/?name=0153431242&size=1000" />
这种格式不容易处理浏览器端缓存,影响页面二次打开的速度。

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

这篇关于javascript - JS获得screensize变量怎么传给PHP以调用不同图片?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆