js获取页面宽高

1,获取屏幕的高度和宽度(屏幕分辨率):

window.screen.height window.screen.width

2,获取屏幕工作区域的高度和宽度(去掉状态栏):

window.screen.availHeight window.screen.availWidth

3,网页全文的高度和宽度:

document.body.scrollHeight document.body.scrollWidth

4,滚动条卷上去的高度和向右卷的宽度:

document.body.scrollTop document.body.scrollLeft

5,网页可见区域的高度和宽度(不加边线):

document.body.clientHeight document.body.clientWidth

6,网页可见区域的高度和宽度(加边线):

document.body.offsetHeight document.body.offsetWidth

本地测试当中: 在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高)
  • 真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。
  • 有时候需要取页面的底部, 就会用到document.body.clientHeight , 在HTML 标准中(这一句就能取到整个页面的高度, 不论body 的实际内容到底有多高, 例如, 1074*768 的分辨率, 页面最大化时, 这个高度约为720 , 即使页面上只有一句”hello world” , 也仍然取到720.
  • 可是在XHTML中, 如果body 体中只有一行, 则document.body.clientHeight 只能取到那一行的高度, 约20px, 这时如何还想取到整个页面的高度, 就要用document.documentElement.clientHeight 来获取了.
  • 原因是: 在HTML 中, body 是整个DOM 的根, 而在XHTML 中, document 才是根, body 不再是根, 所以取body 的属性时, 不能再取到整个页面的值.

参考网址:https://www.cnblogs.com/mengshenshenchu/p/6666300.html

上一篇:设置字体随着浏览器的缩放而缩放


下一篇:笔记-VUE滚动加载更多数据