现在的位置: 首页 > 综合 > 正文

[转载]js获得浏览器高度和宽度

2012年12月25日 ⁄ 综合 ⁄ 共 3936字 ⁄ 字号 评论关闭
代码

document.documentElement.clientHeight -->浏览器的高度

document.documentElement.scrollHeight 全文的高度

document.documentElement.scrollTop滚去的高度


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



//获取滚动条的高度
function getPageScroll(){
var yScroll;
if (self.pageYOffset) {

yScroll
= self.pageYOffset;
alert(yScroll)
}
else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict

yScroll
= document.documentElement.scrollTop;
alert(yScroll)
}
else if (document.body) {// all other Explorers
yScroll = document.body.scrollTop;
alert(
"zhoujian")
//alert(yScroll)
//
alert("zj"+document.body.scrollTop)
}
arrayPageScroll
= new Array('',yScroll)
//alert(yScroll)
return arrayPageScroll;
}
//获取页面实际大小
function getPageSize(){

var xScroll, yScroll;

if (windows.innerHeight && window.scrollMaxY) {
xScroll
= document.body.scrollWidth;
yScroll
= windows.innerHeight + window.scrollMaxY;
}
else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll
= document.body.scrollHeight;
}
else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll
= document.body.offsetHeight;
}

var windowWidth, windowHeight;
if (self.innerHeight) { // all except Explorer
windowWidth = self.innerWidth;
windowHeight
= self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight
= document.documentElement.clientHeight;
}
else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight
= document.body.clientHeight;
}

// for small pages with total height less then height of the viewport
if(yScroll < windowHeight){
pageHeight
= windowHeight;
}
else {
pageHeight
= yScroll;
}

// for small pages with total width less then width of the viewport
if(xScroll < windowWidth){
pageWidth
= windowWidth;
}
else {
pageWidth
= xScroll;
}

arrayPageSize
= new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;
}

 

抱歉!评论已关闭.