【发布时间】:2011-09-20 21:48:13
【问题描述】:
目前我正在使用以下 PHP+JavaScript 代码来检测客户端浏览器窗口大小
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
if(isSet($_GET['w']) && isSet($_GET['h']))
{
$w = $_GET['w'];
$h = $_GET['h'];
}
if(!$w && !$h)
{
$pos= strpos($url, '?');
if($pos===false)
{
echo '<script type="text/javascript">';
echo "var w = screen.width;
var h = screen.height;
window.location.href = '".$url."?w='+w+'&h='+h;
</script>'";
}
else {
echo '<script type="text/javascript">';
echo "var w = screen.width;
var h = screen.height;
window.location.href = '".$url."&w='+w+'&h='+h;
</script>'";
}
}
我想知道,有什么方法可以优化代码(通过 ajax 发布,.. 等)或简单的方法吗?
【问题讨论】:
-
你这样做的目的是什么?可能根本没有必要。听起来您正在使用它来指定要发送哪些 CSS 数据(基于下面的评论),但是单个 CSS 文件可以处理多个截然不同的分辨率,因此这真的没有必要(并且适用于具有JS禁用,并消除往返)。如果用于分析,您可以在每次页面加载时发送一个 AJAX 请求,使用 w/h(或者您希望的频率,例如仅新会话)。
标签: php javascript ajax resolution