js获取屏幕高度、宽度的问题

本文介绍了在JavaScript中获取屏幕尺寸的不同方式及其应用场景。包括如何区分网页显示区域、可用屏幕区域及显示器分辨率,并给出了针对移动设备的适配建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此贴为转载,原帖地址:http://www.cnblogs.com/fyydnz/p/4827002.html     侵删


在使用JS的时候经常遇到的问题就是我需要获取当前屏幕的宽度和高度。每每到这个时候不知道使用哪个:

1
2
3
widow.document.body.offsetWidth;
window.screen.availWidth;
window.screen.width;

一上图(PC端)为例,

A区域 表示的网页的区域(屏幕下面虚线地方表示的是网页可以滑动的区域):widow.document.body.offsetWidth*window.document.body.offsetHeight。

B区域 表示的是可用区域(有网上的叫做空白区域)也就是显示的屏幕 除掉上面的工具栏(浏览器的标签)和下面的工具栏(电脑的菜单)。注意的是滑动栏是属于可用区域的:                        window.screen.availWidth*window.screen.availHeight。

C区域 表示的是显示器的宽和高,也就是电脑的分辨率 :window.screen.Width*window.screen.Height。

所以window.screen.Width= window.screen.availWidth

 

假如是移动设备,由于没有显示滑动条, 所以window.screen.Width= window.screen.availWidth=widow.document.body.offsetWidth,至于高度的话含义和电脑端是一样的。

PS:若想是的页面中的某个元素(Canvas之类的)匹配移动设备的屏幕高宽,可以使用以下代码:

<meta name="viewport" content="width=device-width; initial-scale=1.0">
<meta name="viewport" content="height=device-height, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">

<think>根据用户需求,用户需要获取屏幕分辨率的宽度高度。参考引用内容,我们可以使用`window.screen.width`和`window.screen.height`来获取屏幕分辨率的宽度高度。 同时,为了确保代码的健壮性和兼容性,我们可以考虑使用现代JavaScript语法,并处理可能的兼容性问题(虽然现代浏览器都支持这些属性)。 此外,用户可能需要在页面加载时获取,或者通过事件触发(如按钮点击)来获取。这里给出一个简单的示例,展示如何获取并打印屏幕分辨率。 注意:屏幕分辨率是指整个屏幕的像素尺寸,与浏览器窗口大小无关。 我们将创建一个简单的HTML页面,包含一个按钮,点击按钮时弹出屏幕分辨率的提示框。 但是,如果用户只需要JavaScript代码片段,我们可以直接提供。 根据用户问题,我们只需要获取屏幕分辨率,所以直接使用: let screenWidth = window.screen.width; let screenHeight = window.screen.height; 下面给出一个完整的示例,包括HTML和JavaScript:</think>在 JavaScript获取屏幕分辨率的宽度高度,可以直接使用 `window.screen` 对象的属性。以下是具体实现方法: ### 获取屏幕分辨率 ```javascript // 获取屏幕宽度(像素) const screenWidth = window.screen.width; // 获取屏幕高度(像素) const screenHeight = window.screen.height; // 示例:打印分辨率 console.log(`屏幕分辨率: ${screenWidth} × ${screenHeight} 像素`); ``` ### 完整示例(带按钮触发) ```html <!DOCTYPE html> <html> <body> <button onclick="showResolution()">显示分辨率</button> <p id="result"></p> <script> function showResolution() { const width = window.screen.width; const height = window.screen.height; document.getElementById("result").innerHTML = `屏幕分辨率: ${width} × ${height} 像素`; } </script> </body> </html> ``` ### 关键属性说明 1. `window.screen.width` **屏幕的完整宽度**(像素),包括系统任务栏等不可用区域[^1][^2] 2. `window.screen.height` **屏幕的完整高度**(像素),包括系统任务栏等不可用区域[^1][^2] 3. `window.screen.availWidth` **可用工作区宽度**(排除任务栏等系统界面) 4. `window.screen.availHeight` **可用工作区高度**(排除任务栏等系统界面) > ⚠️ 注意:`screen.width/height` 返回的是**物理屏幕分辨率**,与浏览器窗口大小无关。如需获取浏览器视口尺寸,应使用 `window.innerWidth/innerHeight`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值