php - 使用 Javascript 检测访问者浏览器 View 端口大小并保存到 PHP 变量

标签 php javascript

我几乎可以肯定 PHP 无法检测浏览器的 View 端口大小,对吧?

但是从那以后,有人可以教我如何使用 Javascript 完成此操作,然后将该大小从 Javascript 变量收集到 PHP 中的变量吗?

问候

PS:对不起,如果有另一个帖子有同样的问题。

最佳答案

要获取视口(viewport)大小,您必须使用 Javascript,是的。 有关执行此操作的代码示例(并不总是那么容易,浏览器之间存在差异),您可以查看 JS 框架/库如何确定该大小(例如,在 prototype.js 中,有一个 getDimensions 函数可以执行此操作你想要什么) ;谷歌也会为您提供很多相关结果(this one 是这些结果的一个示例)

然后,您必须将该尺寸发送给 PHP。为此,有两种解决方案:

  • 一种是使用 Ajax 请求(发送宽度和高度作为参数)
  • 另一个是动态构建一个<img>标记,带有指向 PHP 脚本的 URL,例如 'http://.../size.php?w=WIDTH&h=HEIGHT'
    • 许多统计软件(例如 xiti/google analytics - 不确定那些软件是否支持 ^^)都使用这种方法。

在第二种情况下,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 就可以了)

关于php - 使用 Javascript 检测访问者浏览器 View 端口大小并保存到 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148127/

相关文章:

php - 在 PHP 中的 50K 行 CSV 文件中查找最长匹配项的最快方法

php - zend框架1如何将表单字段设置为从另一个表中选择

javascript - Google Closure 在 Chrome 扩展编译期间需要 RequestFilter 和 BlockingResponse 类型。如何创建这样的类型?

javascript - native 日期输入忽略 CSS

php - 如何在无限循环中每 4 分钟回显一次

php - 使用 PHP 从文件夹中获取图片名称 - 然后在其中查找数字,然后分别将每个数字插入 MySQL 表中

当查询具有 mysql 用户变量时,PHP PDO/MySQLi 不返回行

javascript - 如何在 Chart.js 折线图中的曲线不改变的情况下通过 x 轴和 y 轴移动点?

javascript - 如何重定向到另一个页面并打印警报?

javascript - Puppeteer 选择表行/选项