我几乎可以肯定PHP无法检测浏览器的View端口大小吗?
但是既然如此,有人可以教我如何使用Javascript,然后从Javascript变量收集到PHP中的变量?
问候
PS:对不起,如果有另一篇帖子有同样的问题。
发布于 2019-06-04 13:24:20
要获取视口大小,必须使用Javascript,是的。对于执行该操作的代码示例(并不总是很容易,浏览器之间存在差异),您可以查看JS框架/库如何确定该大小(例如,在prototype.js中,有一个getDimensions函数可以执行您的操作想要); 谷歌也会得到很多关于这一点的结果(这个是这些结果的一个例子)
然后,您必须将该大小发送给PHP。为此,有两个解决方案:
<img>
标记,其URL指向PHP脚本,如'http://.../size.php?w=WIDTH&h=HEIGHT'
在第二种情况下,JS代码可能如下所示:
<script type="text/javascript">
var width = 100;
var height = 80;
var tag = document.createElement('img'); // Create the tag
tag.src = 'http://tests/temp/viewport/size.php?';
tag.src += 'w=' + width; // Pass the size
tag.src += '&h=' + height;
document.body.appendChild(tag); // Insert the tag into the page
</script>
然后,在size.php中,使用$ _GET ['w']和$ _GET ['h']。注意:您可能必须从size.php返回一些有效的图像数据,而不是获得“红十字”图片(例如,透明的gif,大小为1x1,会起作用)
发布于 2019-06-04 14:43:46
这是我要做的(基于Pascal MARTIN的):
<script type="text/javascript">
var tag = document.createElement('img'); // Create the tag
tag.src = 'http://path/to/file.php?';
tag.src += 'w=' + document.documentElement.clientWidth;
tag.src += '&h=' + document.documentElement.clientHeight;
document.body.appendChild(tag); // Insert the tag into the page
</script>
我已经在所有主流浏览器(IE6,IE7,IE8,Firefox 2.x,Firefox 3.x,Opera 9.6x,Safari 3.和Chrome 2.x)上测试了这一点。
https://stackoverflow.com/questions/-100001232
复制相似问题