`

浏览器中的精确定位

 
阅读更多

最近在工作中用到浏览器元素精确定位的知识,现今将其归纳出来。以备今后查询:

 

 

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

分享到:
评论

相关推荐

    基于Web浏览器的GPS定位地图的下载与处理.pdf

    文章中提到的方法是利用Web浏览器来下载Google电子地图,以获取GPS定位信息。这种方法相对于传统的Mapinfo制图工具,更具便捷性和普及性。用户不再需要依赖专业制图授权公司,而是可以直接通过网页接口获取定位地图...

    用XPath精确定位节点元素

    通过深入学习和实践,你将能够熟练地使用XPath来精确定位XML文档中的节点元素,从而更高效地处理XML数据。在实际工作中,XPath常被用在XSLT转换、XML验证、数据提取等多个场景,是XML处理中不可或缺的一部分。因此,...

    浏览器兼容性.pdf

    以上讨论的六个问题及其解决方案针对的是第一类精确开发的前端开发人员,这类开发人员在遇到兼容性问题时往往容易定位问题源头,并可以采取正确的应对策略。而对于第二类开发人员来说,他们更应该从根本上提升自身的...

    Amap-location:基于高德地图JsAPI进行浏览器精确定位,实现手机端考勤打卡功能

    基于高德地图JsAPI进行浏览器精确定位,实现手机端考勤打卡功能 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: 前言: 由于项目需求需要在项目中实现...

    js精确定位HTML标签的TOP和LEFT值

    在网页布局和动态元素定位中,JavaScript是一种非常实用的工具,能够帮助开发者实现对页面元素位置的精确控制。本篇文章将详细介绍如何使用JavaScript来获取一个HTML元素的`top`和`left`坐标值。 #### 前言 在开发...

    利用层精确定位网页元素PPT学习教案.pptx

    【网页元素精确定位——利用层技术】 网页设计中,元素的精确布局是至关重要的,尤其是在复杂的页面设计中。传统的HTML 2.0时代,设计师主要依赖表格进行页面元素的定位,但随着网页复杂性的提升,这种方法变得...

    selenium需要的包 模拟真实浏览器。

    1. **模拟用户行为**: Selenium 可以精确地模拟用户在浏览器中的操作,包括点击、滚动、输入等,这在自动化测试中至关重要。 2. **支持多种浏览器**: Selenium 支持 Chrome、Firefox、IE(Internet Explorer)、Edge...

    电子海图浏览器4.0

    这款软件的核心在于其对S57标准电子海图的完美支持,确保了航海者在广阔海洋上的安全与精确航行。 S57标准是国际水道测量组织(IHO)制定的一种用于电子海图数据交换的标准,旨在提高海上航行的安全性和效率。电子...

    奥维地图浏览器

    在林业等领域的规划设计中,奥维地图浏览器的应用尤为广泛,它为专业人士提供了强大的地理信息系统(GIS)工具,帮助他们进行精确的数据分析和决策支持。 GPS(全球定位系统)是奥维地图浏览器的核心技术之一。GPS...

    网页布局绝对定位(position)轻松简单

    要想控制好层的绝对定位,只要理解CSS中关于定位(position)的定义...定位(position)允许用户精确定义元素框出现的相对位置,可以相对于它通常出现的位置,相对于其上级元素,相对于另一个元素,或者相对于浏览器视

    自动化测试的脚本 自动执行浏览器的操作

    它通过与浏览器的原生控制接口进行通信,使得测试脚本可以精确地模拟用户行为。WebDriver支持多种浏览器,如Chrome、Firefox、Edge等,确保了测试的广泛性和兼容性。 2. **安装和配置**:在使用Selenium之前,需要...

    自定义开始菜单中显示卸载浏览器名称的解决办法

    ### 自定义开始菜单中显示已卸载浏览器名称的解决办法 #### 问题描述 在使用Windows操作系统的过程中,用户可能会遇到一个常见但不被广泛知晓的问题:即在自定义开始菜单时,发现之前已经卸载的浏览器名称仍然显示...

    小猪浏览器数据采集网页浏览器

    1. **网页规则配置**:用户可以通过自定义规则来设定数据抓取的路径和方式,例如设置CSS选择器或者XPath表达式,定位到网页上的特定元素,实现精确的数据抓取。 2. **批量采集**:支持批量处理多个网址,一次性采集...

    小猪浏览器(采集器)最新版下载

    同时,了解HTML和CSS选择器也有助于更精确地定位网页元素。 7. **安全与合规**:在使用数据采集工具时,必须遵守网站的使用协议,并尊重数据隐私。过度的抓取可能会导致IP被封禁,甚至触犯法律法规。因此,合理设定...

    CSS高级技术精华(浏览器兼容问题解决方案)

    在实际应用中,开发者需要考虑浏览器兼容性问题,特别是对旧版浏览器的支持。例如,一些高级CSS特性如`border-radius`和`border-image`在IE浏览器中的兼容性不佳,可能需要使用渐进增强或优雅降级策略来确保样式在...

    IE各版本浏览器测试软件 IETester(前端必备)

    - **使用polyfill**:为旧版IE引入polyfill库,以模拟现代浏览器中的某些功能。 - **优化JavaScript**:修复不兼容的JavaScript代码,或寻找替代实现方法。 - **使用框架和库**:利用Bootstrap、jQuery等成熟框架,...

    前端处理浏览器兼容问题

    **问题**:当父级元素使用`padding`后,子元素使用绝对定位时,无法精确定位。 **解决方法**:在子元素中设置`_left`和`_top`属性,仅对IE6生效。 ```css .child { position: absolute; _left: -20px; _top: -1...

    网页制作中层相对定位的实现方法

    绝对定位是指层相对于其最初位置或浏览器窗口的位置进行固定,而相对定位则是指层相对于其最近的非静态定位祖先元素的位置进行定位。 #### 实现方法 ### 1. 通过修改代码实现层相对定位的设置 在HTML文档中,层...

Global site tag (gtag.js) - Google Analytics