记录窗口可视高度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录窗口可视高度相关的知识,希望对你有一定的参考价值。
参考技术A1.如果要记录窗口可视高度,要写在onready里面
2.windowHeight不包含NavigationBar和TabBar的高度,同样不包含 statusbarheight和safebarheight
3.前提是NavigationBar和TabBar都得是非自定义的
4.如果是自定义的NavigationBar和TabBar,例如uview的组件。直接减去navbar和tabbar的高度就行,不用再减statusbarheight和safebarheight的高度了
浏览器窗口可视区域大小
一:网页可见区域宽高,不包括工具栏和滚动条(浏览器窗口可视区域大小)
1.对于IE9+、chrome、firefox、Opera、Safari:
window.innerHeight浏览器窗口的内部高度;
window.innerWidth浏览器窗口的内部宽度;
2.对于IE8.7.6.5:
document.documentElement.clientHeight:表示HTML文档所在窗口的当前高度;
document.documentElement.clientWidth:表示HTML文档所在窗口的当前宽度;
或者,因为document对象的body属性对应HTML文档的<body>标签,所以也可表示为:
document.body.clientHeight:表示HTML文档所在窗口的当前高度;
document.body.clientWidth:表示HTML文档所在窗口的当前宽度;
结论:
document.body.clientWidth/Height:的宽高偏小,高甚至默认200;
document.documentElement.clientWidth/Height 和 window.innerWidth/Height 的宽高始终相等。
所以在不同浏览器都实用的的Javascripit方案:
1
2
|
var w = document.documentElement.clientWidth || document.body.clientWidth; var h = document.documentElement.clientHeight || document.body.clientHeight; |
二:网页正文全文宽高
scrollWidth和scrollHeight获取网页内容高度和宽度
1.针对IE.Opera:scrollHeight是网页内容实际高度,可以小于clientHeight;
2.针对NS.firefox:scrollHeight是网页内容高度,不过最小值是clientHeight;也就是说网页内容实际高度小于clientHeight的时候,scrollHeight返回clientHeight;
3.浏览器兼容代码:
1
2
|
var w = document.documentElement.scrollWidth || document.body.scrollWidth; var h = document.documentElement.scrollHeight || document.body.scrollHeight; |
二:网页可见区域宽高,包括滚动条等边线(会随窗口的显示大小改变)
1.值: offsetWidth = scrollWidth + 左右滚动条 +左右边框;
offsetHeight = scrollHeight + 上下滚动条 + 上下边框;
2.浏览器兼容代码:
1
2
|
var w = document.documentElement.offsetWidth || document.body.offsetWidth ; var h = document.documentElement.offsetHeight || document.body.offsetHeight ; |
三:网页卷去的距离与偏移量
1.scrollLeft:设置或获取位于给定对象左边界与窗口中目前可见内容的最左端之间的距离;
2.scrollTop:设置或获取位于给定对象最顶端与窗口中目前可见内容的最左端之间的距离;
3.offsetLeft:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算左侧位置;
4.offsetTop:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算顶端位置;
以上就是本文的全部内容,
以上是关于记录窗口可视高度的主要内容,如果未能解决你的问题,请参考以下文章