JS获取各种浏览器窗口的大小

在网上找了差不多一下午的时间,终于找到了一个可以获取IE8窗口大小的文档了

http://wenku.baidu.com/view/5d6f7835b90d6c85ec3ac686.html

JS获取各种浏览器窗口的大小 

  
2008-06-21 19:03:44  来源:网页教学网  关于获取各种浏览器可见窗口大小的一点点研究 <script> function getInfo() 

   var s = ""; 
   s += " 网页可见区域宽:"+ document.body.clientWidth; 
   s += " 网页可见区域高:"+ document.body.clientHeight; 
   s += " 网页可见区域宽:"+ document.body.offsetWidth + " (包括边线和滚动条的宽)";    s += " 网页可见区域高:"+ document.body.offsetHeight + " (包括边线的宽)";    s += " 网页正文全文宽:"+ document.body.scrollWidth;    s += " 网页正文全文高:"+ document.body.scrollHeight;    s += " 网页被卷去的高(ff):"+ document.body.scrollTop; 
   s += " 网页被卷去的高(ie):"+ document.documentElement.scrollTop;    s += " 网页被卷去的左:"+ document.body.scrollLeft;    s += " 网页正文部分上:"+ window.screenTop;    s += " 网页正文部分左:"+ window.screenLeft;    s += " 屏幕分辨率的高:"+ window.screen.height;    s += " 屏幕分辨率的宽:"+ window.screen.width; 
   s += " 屏幕可用工作区高度:"+ window.screen.availHeight;    s += " 屏幕可用工作区宽度:"+ window.screen.availWidth; 
   s += " 
你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色"; 
   s += " 你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸";    //alert (s); } 
getInfo(); </script> 
在我本地测试当中: 
在IE、FireFox、Opera下都可以使用 document.body.clientWidth document.body.clientHeight即可获得,很简单,很方便。 而在公司项目当中: Opera仍然使用 
document.body.clientWidth document.body.clientHeight 可是IE和FireFox则使用 
document.documentElement.clientWidth document.documentElement.clientHeight 

原来是W3C的标准在作怪啊 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 如果在页面中添加这行标记的话 

在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高) 

真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。

另外,再附上一个获取当前可见区域大小的函数

http://mauzon.com/how-to-get-real-window-width/

function getWindowWidth() {
		var windowWidth = 0;
		if (typeof(window.innerWidth) == 'number') {
			windowWidth = window.innerWidth;
		}
		else {
			if (document.documentElement && document.documentElement.clientWidth) {
				windowWidth = document.documentElement.clientWidth;
			}
			else {
				if (document.body && document.body.clientWidth) {
					windowWidth = document.body.clientWidth;
				}
			}
		}
		return windowWidth;
	}

jquery获取当前窗口宽度的方法
获取浏览器显示区域的高度:$(window).height();
获取浏览器显示区域的宽度:$(window).width();
获取页面的文档高度:$(window).height();
获取页面的文档宽度:$(window).width();
jquery

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值