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

获得网页窗口实际大小的javascript代码实例
2010-09-17 13:28:30 来源:源码之家 站长整理 【 】 浏览:418次

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


java script代码:

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)

代码实例:

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>获取窗口大小</title>
<scripttype="text/java script">
functiongetPageSize()
{
varre={};
if(document.documentElement&&document.documentElement.clientHeight)
{
vardoc=document.documentElement;
re.width=(doc.clientWidth>doc.scrollWidth)?doc.clientWidth-1:doc.scrollWidth;
re.height=(doc.clientHeight>doc.scrollHeight)?doc.clientHeight:doc.scrollHeight;
}
else
{
vardoc=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;
returnre;
}
</script>
</head>
<body>
<formaction="#"method="get"name="form1"id="form1">
浏览器窗口的实际高度:
<inputtype="text"name="availHeight"size="4"/>
<br/>
浏览器窗口的实际宽度:
<inputtype="text"name="availWidth"size="4"/>
<br/>
</form>
<scripttype="text/java script">
getPageSize();
window.οnresize=getPageSize;
</script>
</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值