在做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;
}
3549 read 3 comment(s)
邮件:*
网站:
内容:
如果能有个实例就更好啦!
<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>