`

JS获取浏览器窗口大小 各个方法预览【转】

    博客分类:
  • html
 
阅读更多

JS获取浏览器窗口大小 各个方法预览

网页可见区域宽: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文档所在窗口的当前宽度。

实现代码

 

<!DOCTYPEhtml PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

<title>请调整浏览器窗口</title>

<metahttp-equiv="content-type" content="text/html; charset=gb2312">

</meta></head>

<body>

<h2align="center">请调整浏览器窗口大小</h2><hr />

<formaction="#" method="get" name="form1"id="form1">

<!--显示浏览器窗口的实际尺寸-->

浏览器窗口 的 实际高度: <input type="text" name="availHeight"size="4"/><br />

浏览器窗口 的 实际宽度: <input type="text" name="availWidth"size="4"/><br />

</form>

<scripttype="text/javascript">

<!--

var winWidth = 0;

var winHeight = 0;

function findDimensions() //函数:获取尺寸

{

//获取窗口宽度

if (window.innerWidth)

winWidth= window.innerWidth;

elseif((document.body) && (document.body.clientWidth))

winWidth= document.body.clientWidth;

//获取窗口高度

if (window.innerHeight)

winHeight= window.innerHeight;

elseif((document.body) && (document.body.clientHeight))

winHeight= document.body.clientHeight;

//通过深入Document内部对body进行检测,获取窗口大小

if (document.documentElement  &&document.documentElement.clientHeight &&document.documentElement.clientWidth)

{

winHeight= document.documentElement.clientHeight;

winWidth= document.documentElement.clientWidth;

}

//结果输出至两个文本框

document.form1.availHeight.value=winHeight;

document.form1.availWidth.value=winWidth;

}

findDimensions();

//调用函数,获取数值

window.onresize=findDimensions;

//-->

</script>

</body>

</html>

源程序解读

(1)程序首先建立一个表单,包含两个文本框,用于显示窗口当前的宽度和高度,并且,其数值会随窗口大小的改变而变化。

(2)在随后的JavaScript代码中,首先定义了两个变量winWidth和winHeight,用于保存窗口的高度值和宽度值。

(3)然后,在函数findDimensions ( )中,使用window.innerHeight和window.innerWidth得到窗口的高度和宽度,并将二者保存在前述两个变量中。

(4)再通过深入Document内部对body进行检测,获取窗口大小,并存储在前述两个变量中。

(5)在函数的最后,通过按名称访问表单元素,结果输出至两个文本框。

(6)在JavaScript代码的最后,通过调用findDimensions ( )函数,完成整个操作。
 图片

分享到:
评论

相关推荐

    js实现图片预览适用多种浏览器

    用js实现input file选择图片然后预览功能,适用多种浏览器

    js调用浏览器打印模块实现点击按钮触发自定义函数

    在探讨如何利用JavaScript调用浏览器的打印模块实现点击按钮时触发自定义函数的过程中,我们首先需要了解浏览器提供的打印API以及如何通过编程方式触发打印任务。现代浏览器通常提供了window.print()方法,该方法...

    在页面用js调用后台方法,打开doc文件到浏览器

    这种功能主要用于在线文档预览,方便用户无需下载文件就能直接在浏览器窗口内阅读内容。以下将详细解释这个过程涉及的技术点、步骤以及可能遇到的问题。 **一、前端JavaScript交互** 在HTML页面中,我们通常会使用...

    pdf预览需要的js

    5. 根据需要调整Canvas的大小和位置,以适应预览窗口。 在实际开发中,我们还需要考虑性能优化,比如分页加载、懒加载、双缓冲策略等,以减少内存占用和提高页面响应速度。此外,为了提供更好的用户体验,可以添加...

    JS 调用保存窗口和打开窗口

    打开窗口通常是指使用`window.open()`方法打开一个新的浏览器窗口或标签页。这个方法接受两个参数:要打开的URL和新窗口的名称(可选,用于指定或引用已存在的窗口)。例如: ```javascript window.open('...

    html5模拟页面窗口显示拖动窗口预览效果

    在本主题中,“html5模拟页面窗口显示拖动窗口预览效果”是指利用HTML5的特性实现一个可以模拟操作系统中窗口拖动并预览效果的功能。这一功能在网页应用中十分常见,比如在线编辑器、桌面式Web应用或者模拟操作系统...

    图片预览新窗口全屏图片展示功能

    "图片预览新窗口全屏图片展示功能"是这样一种技术,它允许用户点击缩略图后,在一个新的浏览器窗口中打开全屏的图片预览,提供更佳的视觉体验。 实现这一功能,通常会涉及到以下几个关键技术点: 1. **HTML**:...

    预览pdf浏览器插件,兼容ie浏览器

    PDF.js的核心功能在于将PDF文件解析为一系列的二维图形、文本和图像,然后利用HTML5的Canvas元素将这些内容渲染到浏览器窗口中。这一过程涉及到以下几个关键知识点: 1. **PDF文件格式**:PDF(Portable Document ...

    js打印WEB页面与打印预览

    JS打印WEB页面与打印预览是指在WEB页面中使用JavaScript语言来实现页面的打印和预览功能。以下是实现这个功能的三种方法: 第一种方法:使用CSS隐藏不打印内容 在这个方法中,我们可以使用CSS来隐藏不需要打印的...

    在线pdf预览插件pdfobject.js设置参数使用pdf预览

    PDFObject.js是一款轻量级的JavaScript插件,用于在网页中实现PDF文件的在线预览。这个插件的使用非常简单,只需要几行代码就可以轻松地将PDF文档嵌入到HTML页面中。以下是对PDFObject.js插件设置参数以及如何进行...

    jquery 调用浏览器打印功能

    而“jQuery 调用浏览器打印功能”是利用 jQuery 实现的一种方法,允许用户通过点击按钮或执行特定操作来触发浏览器的打印功能,从而打印网页内容。在描述中提到了 jqPrint 插件,这是一个专门用于打印 jQuery 对象...

    前端PPT预览插件资源

    在前端开发中,有时我们需要为用户提供预览PPT文件的功能,而无需依赖第三方服务或打开新的浏览器窗口。这种需求可以通过引入特定的预览插件来实现。本文将深入探讨一个名为“PPTXjs”的前端插件,它专门用于处理...

    js 打印以及预览功能实现

    在JavaScript(js)中实现打印和预览功能是一项常见的需求,尤其在Web开发中。本文将详细介绍如何基于JavaScript实现这一功能,并确保其在IE、Firefox和Google等主流浏览器中的兼容性。 首先,我们需要理解...

    javascript经典特效---打开定制大小窗口.rar

    在这个例子中,`newWindow`是一个新的浏览器窗口,它的宽度设为800像素,高度为600像素。"新窗口"是窗口的名称,用于识别多个打开的窗口。第三个参数是一个包含窗口特性的字符串,这些特性包括但不限于: - `width`...

    子窗口向父窗口传递值

    通常,我们可以使用`window.open()`函数来创建一个新的浏览器窗口。例如: ```javascript window.open('subwin.htm', '测试子窗口 1', 'width=450,height=300'); ``` 这里的参数依次是子窗口的URL、窗口名称和特性...

    pdf.js前端插件,用于在线预览pdf文件

    PDF.js是Mozilla开发的一款开源JavaScript库,专门用于在Web浏览器中渲染PDF文档。这个插件使得用户无需安装任何桌面软件就能在线预览PDF文件,极大地提升了网页应用的用户体验。下面我们将详细探讨PDF.js的核心功能...

    js打印预览(LodopFuncs.js)

    LodopFuncs.js是实现这一功能的一种解决方案,它是一款基于ActiveX或NPAPI技术的浏览器插件,由上海连邦信息技术有限公司开发,专门用于JavaScript的打印预览和打印服务。 LodopFuncs.js的工作原理是通过在用户的...

    让你能够在VSCode编辑器打一个真实的浏览器进行预览并调试

    "在VSCode编辑器中实现浏览器预览与调试" 描述了如何利用Visual Studio Code (VSCode) 这款强大的代码编辑器,内置功能或通过扩展来实现在编辑器内部打开一个真实的浏览器实例,以便于实时预览和调试JavaScript项目...

    js 手机端 图片放大预览

    JavaScript(简称JS)作为网页动态效果的主要驱动力,提供了多种方法来实现手机端图片的放大预览功能。以下是一些核心知识点,帮助你理解和实现这个功能: 1. **事件监听**: - `touchstart`:当用户手指触摸屏幕...

Global site tag (gtag.js) - Google Analytics