javascript获取网页宽高方法汇总


Posted in Javascript onJuly 19, 2015

document.body.clientWidth - 网页可见区域宽
document.body.clientHeight - 网页可见区域高

document.body.offsetWidth - 网页可见区域宽,包括边线和滚动条的宽
document.body.offsetHeight - 网页可见区域高,包括边线和滚动条的高[FF,chrom下是整个页面高,IE opera 下正常]

document.body.scrollWidth - 网页总宽
document.body.scrollHeight - 网页总高

document.body.scrollTop - 有滚动条的时候,向下拖动滚动条,上方不显示的那部分高度
document.body.scrollLeft - 同上

window.innerHeight - 浏览器窗口的内部高度

window.innerWidth - 浏览器窗口的内部宽度

window.screenTop - 网页正文部分上[网页文档的最上方距离屏幕最上方的距离,但FF不支持,Chrom,IE,Opera表现都不同,慎用]
window.screenLeft - 网页正文部分左[网页文档的最左方距离屏幕最左方的距离,但FF不支持,Chrom,IE,Opera表现都不同,慎用]

window.screen.height - 屏幕分辨率的高度
window.screen.width - 屏幕分辨率的宽度

window.screen.availHeight - 可用工作区高度[整个屏幕但不包括下方任务栏]
window.screen.availWidth - 可用工作区宽度[整个屏幕的宽度]

window.screen.clorDepth - 屏幕色彩,常用的16,32位等
window.screen.deviceXDPI - 屏幕像素/英寸【IE支持,其它不支持】

JavaScript 获取页面宽高的方法

<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 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高)

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
javascript多种数据类型表格排序代码分析
Sep 11 Javascript
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
Oct 12 Javascript
html超链接打开窗口大小的方法
Mar 05 Javascript
Javascript中的关键字和保留字整理
Oct 16 Javascript
JAVA四种基本排序方法实例总结
Jul 24 Javascript
Javascript技术栈中的四种依赖注入小结
Feb 27 Javascript
Bootstrap每天必学之折叠
Apr 12 Javascript
jQuery事件处理的特征(事件命名机制)
Aug 23 Javascript
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
JavaScript实现shuffle数组洗牌操作示例
Jan 03 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
Aug 11 Javascript
VSCode 配置uni-app的方法
Jul 11 Javascript
jQuery获取URL请求参数的方法
Jul 18 #Javascript
jQuery增加自定义函数的方法
Jul 18 #Javascript
jQuery插件简单实现方法
Jul 18 #Javascript
javascript实现页面刷新时自动清空表单并选中的方法
Jul 18 #Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 #Javascript
jquery实现用户信息修改验证输入方法汇总
Jul 18 #Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
Jul 18 #Javascript
You might like
php连接mysql数据库代码
2009/03/10 PHP
PHP 判断常量,变量和函数是否存在
2009/04/26 PHP
浅谈php和.net的区别
2014/09/28 PHP
php新浪微博登录接口用法实例
2014/12/23 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
详解Vue.js 响应接口
2020/07/04 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
pandas实现导出数据的四种方式
2020/12/13 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
外语学院毕业生的自我鉴定
2013/11/28 职场文书
特色冷饮店创业计划书
2014/01/28 职场文书
社区母亲节活动记录
2014/03/06 职场文书
党员一帮一活动总结
2014/07/08 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang