js获取浏览器高和宽的基本信息:屏幕信息

【总结】JS 获取浏览器可视区域的宽高 兼容多浏览器 平时在些项目的时候,难免会用到一些基础的宽高等数据,可能是用来做屏幕的适配,也可能是用来计算效果的临界值,总之看似简单的数据,却经常能够用得到,不知道小伙伴们都是怎么获取的,反正楼主是比较懒的那种,非常不喜欢去记那些个方法,所以就总结一下,方便以后查找 先来张经典的图 IE中: document.body.clientWidth ==> BODY对象宽度 document.bod... 阅读详情

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

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均无关)

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

-------------------

技术要点
本节代码主要使用了Document对象关于窗口的一些属性,这些属性的主要功能和用法如下。

要得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在Netscape下需要使用Window的属性;在 IE下需要深入Document内部对body进行检测;在DOM环境下,若要得到窗口的尺寸,需要注意根元素的尺寸,而不是元素。

Window对象的innerWidth属性包含当前窗口的内部宽度。Window对象的innerHeight属性包含当前窗口的内部高度。

Document对象的body属性对应HTML文档的标签。Document对象的documentElement属性则表示HTML文档的根节点。

document.body.clientHeight表示HTML文档所在窗口的当前高度。document.body. clientWidth表示HTML文档所在窗口的当前宽度。

关于获取各种浏览器可见窗口大小的一点点研究。

在我本地测试当中:在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的标准在作怪啊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高)

真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。

【SeedLab】Packet Sniffing and Spoofing Lab 本节实验要求:借助Scapy库,实现网络流量的捕获与伪造。 阅读详情

相关推荐

MoveIt控制睿尔曼RM65机械臂:从仿真到实机的3种控制模式对比

本文详细解析了使用MoveIt框架控制睿尔曼RM65机械臂的三种核心模式:拖动规划、目标姿态规划和Python API控制,从Gazebo仿真到实机部署的完整实现路径。通过ROS环境配置、控制参数优化及实机过渡技术,为工业自动化和机器人研究提供实用指南。

728

在javascript中得到当前窗口的高和宽

在javascript中得到当前窗口的高和宽   cript">   var    s  =  "网页可见区域宽:"+  document.body.clientWidth;   s  +=  "\r\n网页可见区域高:"+  document.body.clientHeight;   s  +=  "\r\n网页可见区域高:"+  document.body.offsetWeig

默写时光 284

篮球比赛24秒计时器改造指南:用Multisim实现可调式倒计时系统

本文详细介绍了如何使用Multisim软件改造篮球比赛24秒计时器,实现可调式倒计时系统。从脉冲信号发生器到声光报警模块,提供了完整的电路设计方案和调试技巧,帮助开发者快速掌握数字电路设计的核心原理,提升体育电子设备开发效率。

wood5的博客 212

根据Android本地用户登录状态,显示js中用户是否登录

1.js代码,名称demo.html,放在新建assets文件夹下<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> &amp

w_h_q的博客 523

微信中调起支付宝支付

微信中调用支付宝支付,首先我们知道微信是不能直接调用支付宝的,所以我们需要使用一个中间页提示用户在浏览器中打开,然后进行网页支付或打开app支付。以下为详细唤起支付宝的步骤、业务代码以及相关页面图。 如有问题欢迎评论留言,看到定回复哦^_^\(^o^)/~ 一、微信中唤起支付宝,有几个步骤: 1、中间页引导用户在浏览器中打开去唤起支付宝。 2、浏览器中打开支付宝或app中打开支付宝。 3...

han_calligrapher的博客 2万+

sift、surf、orb 特征提取——三维重建

参考文章:[sift、surf、orb 特征提取及最优特征点匹配] 最近刚刚入门三维重建,在SFM算法的代码中注意到了feature_type( feature extraction method)这个参数,想细致了解一下这几种特征提取算法,在这里做一下笔记。 SIFT 简介 SIFT(Scale-Invariant Feature Transform)——尺度不变特征变换,是一种计算机视觉的特征提取算法,用来侦测与描述图像中的局部特征。 实质上,它是在不同的尺度空间上查找关键点(特征点),并计算出关键点的

bb_sy_w的博客 4362

js怎么获取一个元素与屏幕右边的距离_JS 宽高

页面宽高body宽高body.offsetHeight :body总高度body.offsetWidth:body总宽度body.clientHeight :body展示的高度;表示body在浏览器内显示的区域高度body.clientWidth :body展示的宽度;表示body在浏览器内显示的区域宽度滚动条高度/宽度 :如高度,可通过浏览器内页面可用高度 - body展示高度得出,即windo...

weixin_42106357的博客 4603

告别手动复制粘贴:3种高效合并Excel表格的方法对比(含代码)

本文对比了VBA、Power Query和Python三种高效合并Excel表格的方法,并提供了可直接运行的代码。针对不同数据量、更新频率和技术背景,详细分析了各方案的优缺点与适用场景,帮助读者告别低效的手动操作,实现自动化数据整合。

weixin_29057237的博客 444

不使用 JS 纯 CSS 获取屏幕宽高

CSS 自定义属性(也称为 CSS 变量)允许开发者在 CSS 中定义可重用的值。通过使用 var() 函数,可以在样式表的任何地方引用这些变量。自定义属性的定义通常在:root选择器中进行,以便在整个文档中使用。通过使用 CSS 的@property规则和数学函数,我们可以在不使用 JavaScript 的情况下获取屏幕的宽度和高度。随着 CSS 规范的不断发展,未来可能会有更多类似的功能,使得前端开发更加灵活和高效。

孤客科技 1781

组基轨迹建模 GBTM的介绍与实现(Stata 或 R)

组基轨迹建模(Group-Based Trajectory Modeling,GBTM)(旧名称:Semiparametric mixture model)历史:由DANIELS.NAGIN提出,发表文献《Analyzing Developmental Trajectories:A Semiparametric,Group-Based Approach》GBTM能够将一群人的轨迹分类并生成数个具有代表性的运动轨迹模型,然后对每个轨迹模型进行分析,以了解人们的运动特征、生理水平和风险等级等。

三分钟热度 1万+

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之EcuM模块配置详解(上)

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之EcuM模块配置详解(上)

weixin_42412049的博客 1016

javaScript 屏幕宽高,浏览器宽高

javaScript 屏幕宽高,浏览器宽高 在js中取得屏幕,浏览器等的宽高. 以免混淆,记录下来. 通过写简单html页面进行验证. 调整浏览器位置,大小后,刷新页面,查看控制台输出. (如有错漏,请指正.谢谢!) <!DOCTYPE html> <html> <head> <title>test</title> <scrip...

hoho.的博客 344

【零基础学习CAPL】——弹窗信息提示

不用手动制作Panel窗口,直接使用CAPL脚本实现弹窗提示。//没有wait超时,等待测试人员确认//有wait超时,对话框在超时后自动终止//有wait超时,可以显示一个资源,即对话框可以显示额外的信息。/*参数说明text:显示在弹窗中的内容,长度限制在4096字符timeout:弹窗自动结束的时间,单位:ms。若为0,则无超时控制heading:对话框文本上方的标题。字符串最大长度限制在256个字符。resource:URL或文件路径。字符串的最大长度是有限的(512个字符)。

LOVE135149的博客 268

js获取屏幕(设备)宽高

&lt;script language="javascript"&gt; var h = ""; h += " 网页可见区域宽:"+ document.body.clientWidth+"\n"; h += " 网页可见区域高:"+ document.body.clientHeight+"\n"; h += " 网页可见区域宽:&

tmiaot的博客 2936

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JS如何获取屏幕、浏览器及网页高度宽度?

目的 在浏览器中,用JS获取高度和宽度都各有3种,分别包括屏幕,浏览器和网页的。用来解决各种计算定位问题!以至于我各种记不住,写个随笔方便查询。 屏幕宽高 说明:顾名思义,屏幕宽高是指显示器的分辨率。系统分辨率可以改变这个宽高。 获取方法: console.log('宽度:', window.screen.width) console.log('高度:', window.screen.height) 浏览器可用工作区的宽高 说明:浏览器宽高是指浏览器窗口最大化时的宽高,普通的最大化后,一般就

zjq_1234的博客 8002

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

javaScript/js 获取屏幕宽高,元素宽高/margin/padding

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。// 使用,第一个参数元素,第二参数,元素的属性,如:width/height/margin/border都可以。如果本篇文章对你有帮助的话,很高兴能够帮助上你。// 兼容IE浏览器。

好巧的博客 6593

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JS获取元素的宽高及位置,视口的宽高的几种方法

JS获取元素的宽高及位置,视口的宽高的几种方法 第一次使用优快云,记录下遇到的几种JS获取DOM元素的宽高的方法。 1.不同视口的获取方法 1.1获取视口大小(包括垂直滚动条) var width = window.innerWidth var height = window.innerHeight 1.2获取视口大小(内容区域大小,包括侧边栏,窗口镶边,和调整窗口大小的边距) var ...

qq_43123623的博客 6642

js获取浏览器宽高及获取浏览器可视宽高

js获取浏览器宽高及获取浏览器可视宽高 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线和滚动条的宽) 网页可见区域高:document.body.offsetHeight(包括边线的宽) 网页正文全文宽:docu...

Taurus_666 2695

js获取浏览器 屏幕宽高尺寸

<!doctype html> <head> <meta charset="utf-8"> <title>js获取浏览器宽高尺寸</title> </head> <body> <script language="javascript"> var h = ""; h += " 网页可见区域宽:"+ doc...

jiangbinwangyi的博客 415

JS获取屏幕宽高

Javascript: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的高) 网页正文全文宽: document.body.scro...

山外小楼 4590

js获取元素宽高和位置的几种方法&&点击事件坐标

一.获取宽高: 1.行内样式获取宽高: var dom= document.getElementById("div"); var divWidth = dom.style.width; var divHeight = dom.style.height; 注:只能通过行内样式才能获取到。获取到的元素宽高不包括padding和border 2.offset/client/scroll方法获取: va...

tinfengyee的博客 4217

JS 获取屏幕/浏览器/页面元素相对距离与宽高

JS获取系统屏幕信息 JS获取浏览器信息 JS获取页面信息 JS获取元素相对距离或位置

曹定栓的博客 4150

JS获取屏幕宽高属性总结

平时在写界面获取屏幕、浏览器宽高时,经常会搞不清楚window、body、screen中的clientWidth、offsetWidth、width的区别,今天做一个总结帮助自己理解。 window、document、screen、body、documentElement的关系 window是浏览器中JavaScript的顶层对象,所有全局变量与函数都是window对象的成员,而document也是window的对象,表示当前的浏览器载入的网页(DOM树)。比如像window.alert() = alert

heyzqt 1478

JS 获取浏览器和屏幕宽高信息

网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth (包括边线的宽)网页可见区域高:document.body.offsetHeight (包括边线的宽)网页正文全文宽:document.body.scrollWidth网页正文全文高:do...

a944145054的博客 123

vue浏览器与body宽高获取

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>vue浏览器与body...

lxsm的博客 6361

JavaScript获取浏览器、元素、屏幕的宽高尺寸

版权声明 转载请告知并注明来源作者作者:唐金健网络昵称:御焱掘金知乎思否专栏:优雅的前端 前言 有时候在获取浏览器、元素、屏幕的尺寸,傻傻分不清。为了让自己清晰认识,能够快速确定自己需要哪个属性,现在把这些尺寸属性整理了一下。 一、浏览器视口的宽高 Window.innerWidth、Window.innerHeight 浏览器视口(viewport)宽度(单位:像素),如果...

u010227042的博客 469
上一篇: Jquery-zTree的基本用法
下一篇: CSS里面position:relative与position:absolute 区别
ole_triangle_java
博客等级 码龄10年 82粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值