检测访问者浏览器视图端口大小与Javascript和保存到一个PHP变量

我几乎可以肯定,PHP无法检测的浏览器上查看端口的大小?

但由于是,有人可以教我怎么能做到这一点的JavaScript,然后收集的大小从一个Javascript变量在PHP变量?

此致

PS:很抱歉,如果有另一篇文章同样的问题。

--------------解决方案-------------

为了得到视口大小,你必须使用JavaScript,没错。 对于代码这样做(并不总是容易的,也有浏览器之间的差异)的例子,你可以看看如何JS框架/库确定大小(例如,对prototype.js,有一个getDimensions功能,做什么你想) ; 谷歌将让你很多关于太的结果(这是这些结果的一个例子)

然后,你必须发送大小为PHP。 为此,两种解决方案:

  • 一种是使用Ajax请求(发送的宽度和高度作为参数)
  • 另一种是动态地构建<img>标签,用URL指向PHP脚本,像'http://.../size.php?w=WIDTH&h=HEIGHT'
    • 许多统计软件(像xiti /谷歌分析 - 不知道这些的人做^^)使用的一种方法。

在第二种情况下,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的大小,例如,会做的伎俩)

这里就是我想要做的(基于帕斯卡·马丁):

<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,3.X的Firefox,歌剧9.6x,Safari浏览器3和Chrome 2.X)测试这一点。

我想这就是你可以用jQuery做到这一点:

变种viewport_Width = $(窗口).WIDTH();
变种viewport_Height = $(窗口).height();

但这种方法在歌剧中的错误。 看这里:

http://dev.jquery.com/ticket/3046

使用变通方法歌剧院。

然后,你可以把它(通过POST或AJAX调用)发送到服务器,以保存它在PHP。

希望有所帮助。

使用像jQuery库将避免你很多麻烦和浏览器的黑客。 认真考虑使用一个,它解决了很多中端服务器端的问题。

分类:php 时间:2015-03-15 人气:0
本文关键词: PHP,JavaScript的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.577 (s). 10 q(s)