JS获得浏览器高度和宽度参数
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 XHTML1.0Transitional//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){//Explorer6Strict
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(window.innerHeight&&window.scrollMaxY){
xScroll=document.body.scrollWidth;
yScroll=window.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 Explorer6Strict,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){//Explorer6Strict 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;
}