这几天一直在纠结这个问题,希望大家帮忙。
加载页面时,我需要找出浏览器的大小。
我正在用 PHP 和 javascript 编写一个 PHP 页面。该页面以以下代码开头:
if ( empty($_GET['w']) ) {
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script type="text/javascript">
var winW = 630, winH = 460;
if (document.body && document.body.offsetWidth) {
winW = document.body.offsetWidth;
winH = document.body.offsetHeight;
}
if (document.compatMode=="CSS1Compat" &&
document.documentElement &&
document.documentElement.offsetWidth ) {
winW = document.documentElement.offsetWidth;
winH = document.documentElement.offsetHeight;
}
if (window.innerWidth && window.innerHeight) {
winW = window.innerWidth;
winH = window.innerHeight;
}
location.replace("'.$_SERVER['PHP_SELF'].'?w=" + winW + "&h=" + winH );
</script>
</body>
</html>';
} else {
$w = $_GET['w'];
$h = $_GET['h'];
// my main page goes here
}
这段代码基本上获得了分辨率,然后使用 url 查询中发送的宽度和高度重新加载页面,以便 PHP 可以使用这些值。
问题是:当用户调整他/她的窗口大小然后重新加载页面时,发送的值是旧值(因为它们仍在 URL 查询中)。
每次加载或重新加载页面时,如何找到新的宽度和高度值?
谢谢