js获取浏览器body高度和宽度的问题

relateTarget 2008-12-05 04:02:25
在网上查过document.body.offsetWidth、screen.height可以获取浏览器的高度和宽度,但是不同浏览器所获得不同的值,导致有的浏览器根据所捕获的高度和宽度值所生成的覆盖层能刚好覆盖整个屏幕,有的不是高度短了就是宽度长了,想问下有什么方法使生成的覆盖层刚好铺满整个浏览器的可视区域且各浏览器表现一致?
...全文
4338 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuaixz 2009-01-17
  • 打赏
  • 举报
回复
试试这个

获取页面可用的高度:screen.availHeight;
宽度:screen.availWidth;
yumenzaixing 2009-01-13
  • 打赏
  • 举报
回复
实用,不错
2008-12-05
  • 打赏
  • 举报
回复
学习...
  • 打赏
  • 举报
回复
http://blog.csdn.net/chinmo/archive/2008/02/18/2102799.aspx

先看这个图,对这些东东了解先
  • 打赏
  • 举报
回复
IE,FireFox 差异如下:

IE6.0、FF1.06+:

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = height + padding + border

IE5.0/5.5:
clientWidth = width - border

clientHeight = height - border

offsetWidth = width

offsetHeight = height



<script type="text/javascript">
<!-- var winWidth = 0;
var winHeight = 0;
function findDimensions() //函数:获取尺寸
{ //获取窗口宽度
if (window.innerWidth)
winWidth = window.innerWidth;
else if ((document.body) && (document.body.clientWidth))
winWidth = document.body.clientWidth; //获取窗口高度
if (window.innerHeight)
winHeight = window.innerHeight;
else if ((document.body) && (document.body.clientHeight))
winHeight = document.body.clientHeight; //通过深入Document内部对body进行检测,获取窗口大小
if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)
{
winHeight = document.documentElement.clientHeight;
winWidth = document.documentElement.clientWidth;
} //结果输出至两个文本框
document.form1.availHeight.value= winHeight;
document.form1.availWidth.value= winWidth;
} findDimensions(); //调用函数,获取数值
window.onresize=findDimensions;
//--></script>

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧