javascript - JS获得screensize变量怎么传给PHP以调用不同图片?
Jun 06, 2016 pm 08:08 PM
网站想做成自适应的,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这个标签,张鑫旭有几篇讲这个的

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Comment configurer Visual Studio Code (VS Code) pour le développement PHP
