js 获取浏览器高度和宽度值(多浏览器)(转)

本文提供了一个JavaScript函数,用于获取浏览器窗口的实际高度和宽度。该函数考虑了不同浏览器(如IE、Firefox和Opera)的行为差异,并通过内联样式和Document内部检测实现了跨浏览器兼容性。
摘要由CSDN通过智能技术生成

IE中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
FireFox中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
Opera中:
document.body.clientWidth ==> 可见区域宽度
document.body.clientHeight ==> 可见区域高度
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
没有定义W3C的标准,则
IE为:
document.documentElement.clientWidth ==> 0
document.documentElement.clientHeight ==> 0

FireFox为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
Opera为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)


网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth

 HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量

实现代码

 1 < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 3 <html xmlns="http://www.w3.org/1999/xhtml"> 
 4 <head> 
 5 <title>请调整浏览器窗口</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> 
 6 </meta></head> 
 7 <body> 
 8 <h2 align="center">请调整浏览器窗口大小</h2><hr /> 
 9 <form action="#" method="get" name="form1" id="form1"> 
10 <!--显示浏览器窗口的实际尺寸--> 
11 浏览器窗口 的 实际高度: <input type="text" name="availHeight" size="4"/><br /> 
12 浏览器窗口 的 实际宽度: <input type="text" name="availWidth" size="4"/><br /> 
13 </form> 
14 <script type="text/javascript"> 
15 <!-- 
16 var winWidth = 0; 
17 var winHeight = 0; 
18 function findDimensions() //函数:获取尺寸 
19 { 
20 //获取窗口宽度 
21 if (window.innerWidth) 
22 winWidth = window.innerWidth; 
23 else if ((document.body) && (document.body.clientWidth)) 
24 winWidth = document.body.clientWidth; 
25 //获取窗口高度 
26 if (window.innerHeight) 
27 winHeight = window.innerHeight; 
28 else if ((document.body) && (document.body.clientHeight)) 
29 winHeight = document.body.clientHeight; 
30 //通过深入Document内部对body进行检测,获取窗口大小 
31 if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) 
32 { 
33 winHeight = document.documentElement.clientHeight; 
34 winWidth = document.documentElement.clientWidth; 
35 } 
36 //结果输出至两个文本框 
37 document.form1.availHeight.value= winHeight; 
38 document.form1.availWidth.value= winWidth; 
39 } 
40 findDimensions(); 
41 //调用函数,获取数值 
42 window.onresize=findDimensions; 
43 //--> 
44 </script> 
45 </body> 
46 </html> 

 

详细出处参考:http://www.jb51.net/article/19844.htm

转载于:https://www.cnblogs.com/youngerliu/p/3728951.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值