动态取得当前页面的高度(适应IE6,7,8,firefox,chrome等)

     

var iframe = document.getElementById("mainframe");
    var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
//根据浏览器版本的兼容性设置iframe的适应高度  
function changeIframeSize(){
        if (Sys.ie) iframe.height  =  document.documentElement.offsetHeight ;
        if (Sys.firefox||Sys.opera ||Sys.safari) iframe.height =window.document.documentElement.offsetHeight + 1;
        if (Sys.chrome) iframe.height = document.documentElement.clientHeight ;
}

wKiom1SzQDiyVp2rAABKCgnNgDU609.gif

下面简单的整理一下在各浏览器下取得高度和宽度方法的意思


[plain] view plaincopyprint?

网页可见区域宽: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   

窗口的文档显示区的高度:window.innerheight    

窗口的文档显示区的宽度:window.innerwidth  

 

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 相对文档的水平座标+垂直方向滚动的量 

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 
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)



参考浏览器兼容性:

http://www.cnblogs.com/leadzen/archive/2008/09/06/1285764.html

你可能感兴趣的:(function,iframe,浏览器,chrome,firefox)