首页 > 开发 > JS > 正文

获得网页窗口实际大小的javascript代码实例

2024-09-06 12:41:08
字体:
来源:转载
供稿:网友

    在做web2.0风格的弹出窗口的时候,经常需要把背景变暗和屏蔽。这时就需要得到一个网页的宽高数据。这里就会有很多细节和兼容性问题。经过长期摸索,现提供以下函数,希望对大家有用。这个函数的具体作用是获得网页的高度和宽度,如果网页没有窗口可见区域高的时候则取窗口的可见区域高度和宽度。返回值为一个对象 ,例如 { width:123, height:345}。现在兼容几乎所有的浏览器。


    JavaScript代码:

function get_page_size()
{
    var re = {};
    if (document.documentElement && document.documentElement.clientHeight)
    {
        var doc = document.documentElement;
        re.width = (doc.clientWidth>doc.scrollWidth)?doc.clientWidth-1:doc.scrollWidth;
        re.height = (doc.clientHeight>doc.scrollHeight)?doc.clientHeight:doc.scrollHeight;
    }
    else
    {
        var doc = document.body;
        re.width = (window.innerWidth>doc.scrollWidth)?window.innerWidth:doc.scrollWidth;
        re.height = (window.innerHeight>doc.scrollHeight)?window.innerHeight:doc.scrollHeight;
    }
    return re;
}


904 viewed 3 comment(s)

    代码实例:

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获取窗口大小</title>
<script type="text/JavaScript">
function getPageSize()
{
    var re = {};
    if (document.documentElement && document.documentElement.clientHeight)
    {
        var doc = document.documentElement;
        re.width = (doc.clientWidth>doc.scrollWidth)?doc.clientWidth-1:doc.scrollWidth;
        re.height = (doc.clientHeight>doc.scrollHeight)?doc.clientHeight:doc.scrollHeight;
    }
    else
    {
        var doc = document.body;
        re.width = (window.innerWidth>doc.scrollWidth)?window.innerWidth:doc.scrollWidth;
        re.height = (window.innerHeight>doc.scrollHeight)?window.innerHeight:doc.scrollHeight;
    }
    //结果输出至两个文本框
    document.form1.availHeight.value= re.width;
    document.form1.availWidth.value= re.height;
    return re;
}
</script>
</head>
<body>
<form action="#" method="get" name="form1" id="form1">
  浏览器窗口 的 实际高度:
  <input type="text" name="availHeight" size="4"/>
  <br />
  浏览器窗口 的 实际宽度:
  <input type="text" name="availWidth" size="4"/>
  <br />
</form>
<script type="text/JavaScript">
getPageSize();
window.onresize=getPageSize;
</script>
</body>
</html>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表