html中获取浏览器窗口宽度,JavaScript 获取浏览器窗口的大小

简明现代魔法 -> JavaScript -> JavaScript 获取浏览器窗口的大小

JavaScript 获取浏览器窗口的大小

2010-04-16

程序演示:

获取浏览器当前窗口大小。当浏览器窗口大小变化时,显示的值会随时变化。

浏览器窗口的实际宽度:

浏览器窗口的实际高度:

程序主要使用了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文档所在窗口的当前宽度。

JavaScript Code

var winWidth = 0;

var winHeight = 0;

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

{

// 获取窗口宽度

if (window.innerWidth)

winWidth = window.innerWidth;

else if ((document.body) && (document.body.clientWidth))

winWidth = document.body.clientWidth;

// 获取窗口高度

if (window.innerHeight)

winHeight = window.innerHeight;

else if ((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.οnresize=findDimensions;

程序实现步骤:

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 答:``` const { innerWidth, innerHeight } = window; console.log(`Browser window width: ${innerWidth}px, height: ${innerHeight}px`); ``` ### 回答2: 在React获取浏览器窗口的长宽可以通过使用JavaScriptwindow对象来实现。下面是一个获取浏览器窗口长宽的完整代码示例: ``` import React, { useEffect, useState } from 'react'; const WindowDimensions = () => { const [windowWidth, setWindowWidth] = useState(window.innerWidth); const [windowHeight, setWindowHeight] = useState(window.innerHeight); useEffect(() => { const handleResize = () => { setWindowWidth(window.innerWidth); setWindowHeight(window.innerHeight); }; window.addEventListener('resize', handleResize); return () => { window.removeEventListener('resize', handleResize); }; }, []); return ( <div> <p>浏览器窗口宽度:{windowWidth}px</p> <p>浏览器窗口高度:{windowHeight}px</p> </div> ); }; export default WindowDimensions; ``` 上述代码,我们使用了useState来定义了windowWidth和windowHeight两个state变量,用于保存浏览器窗口宽度和高度。利用useEffect钩子函数,在组件挂载时添加了resize事件的监听器,并在监听器通过setWindowWidth和setWindowHeight更新state变量的值。同时,也在组件卸载时移除了resize事件的监听器,以防止内存泄漏。 最后,在组件的返回值,我们使用了windowWidth和windowHeight,将宽度和高度的数值显示在页面上。 当组件被渲染时,它将显示当前浏览器窗口宽度和高度,并在窗口大小发生变化时自动更新。 ### 回答3: 在React,我们可以使用`window.innerWidth`和`window.innerHeight`属性来获取浏览器窗口宽度和高度。 首先,我们需要在React组件创建一个state来存储窗口宽度和高度。在构造函数初始化state: ``` constructor(props) { super(props); this.state = { windowWidth: window.innerWidth, windowHeight: window.innerHeight }; } ``` 然后,我们需要在组件挂载时添加一个事件监听器来更新窗口的尺寸,并在组件卸载时移除事件监听器。可以使用`componentDidMount`和`componentWillUnmount`生命周期方法来实现: ``` componentDidMount() { window.addEventListener('resize', this.handleResize); } componentWillUnmount() { window.removeEventListener('resize', this.handleResize); } ``` 在`handleResize`方法,我们可以更新state窗口尺寸: ``` handleResize = () => { this.setState({ windowWidth: window.innerWidth, windowHeight: window.innerHeight }); } ``` 最后,在组件的render方法,我们可以使用state窗口尺寸来显示它们: ``` render() { return ( <div> <h2>浏览器窗口尺寸:</h2> <p>宽度: {this.state.windowWidth}</p> <p>高度: {this.state.windowHeight}</p> </div> ); } ``` 这样,我们就可以获取并显示浏览器窗口的完整代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值