javascript 常用获取页面宽高信息 API

Posted Chris

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 常用获取页面宽高信息 API相关的知识,希望对你有一定的参考价值。

在页面的构建中 常常会需要获取页面的一些宽高信息,例如实现 惰性加载图片 需要获取页面的可见区域高度 和 已滚动区域的高度,以判断图片所在位置是否可见来决定加载图片的时间,

花点时间整理了一下,获取页面宽高信息的API

持续整理中...

在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高)
真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。

 

 

网页可见区域宽:
document.body.clientWidth

网页可见区域高:
document.body.clientHeight 

网页可见区域宽:
document.body.offsetWidth(包括边线的宽) 

网页可见区域高:
document.body.offsetHeight(包括边线的宽) 

网页正文全文宽:
document.body.scrollWidth 

网页正文全文高:
document.body.scrollHeight 

网页被卷去的高:
document.body.scrollTop 

window.pageYOffset

网页被卷去的左:
document.body.scrollLeft 

window.pageXOffset

网页正文部分上:
window.screenTop 

网页正文部分左:
window.screenLeft 

屏幕分辨率的高:
window.screen.height 

屏幕分辨率的宽:
window.screen.width 

屏幕可用工作区高度:
window.screen.availHeight 

屏幕可用工作区宽度:
window.screen.availWidth 

以上是关于javascript 常用获取页面宽高信息 API的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript获取屏可视区域宽高和页面宽高-速查对照表

JavaScript或者jQuery怎样获取一个隐藏元素的宽高

浅谈自定义View的宽高获取

Appium——api常用函数

JavaScript DOM API的使用

JavaScript其他获取元素宽高方式