本文章转载至@Dmitri Pavlutin
要检测浏览器窗口是横向模式还是纵向模式,可以比较浏览器窗口的宽度和高度。
但是根据我的经验,在这一系列尺寸中很容易混淆:屏幕、窗口、网页尺寸。
我将在本文中讨论这些尺寸的定义以及如何访问它们。
屏幕
![图片[1]-【JavaScript扩展】JavaScript中的各个宽度尺寸解析-资源刺客](https://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/11/20251112220349952.png)
window.screen 是保存屏幕尺寸信息的对象。
获取屏幕宽度和高度的语法:
const screenWitdh = window.screen.width;
const screenHeight = window.screen.height;
可用屏幕的大小
可用屏幕的大小包括屏幕的宽度和高度,不包括操作系统的系统工具栏。
![图片[2]-【JavaScript扩展】JavaScript中的各个宽度尺寸解析-资源刺客](https://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/11/20251112222613811.png)
window.screen 是保存屏幕尺寸信息的对象,使用他可以获取可用屏幕尺寸的大小。
const screenWitdh = window.screen.availWidth;
const screenHeight = window.screen.availHeight;
窗口
窗口外部大小包括整个浏览器窗口的宽度和高度,包括地址栏、选项卡栏和其他浏览器面板
![图片[3]-【JavaScript扩展】JavaScript中的各个宽度尺寸解析-资源刺客](https://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/11/20251112223318760.png)
要访问窗口外部大小,可以使用 window 对象!
const Witdh = window.outerWidth;
const Height = window.outerHeight;
窗口内部大小
窗口内部大小包括显示网页的视口的宽度和高度
![图片[4]-【JavaScript扩展】JavaScript中的各个宽度尺寸解析-资源刺客](https://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/11/20251112223655884.png)
window 对象提供了必要的 innerWidth 和 innerHeight 属性
const Witdh = window.innerWidth;
const Height = window.innerHeight;
如果不想访问不带滚动条的窗口内部大小,可以使用以下代码:
const Witdh = document.documentElement.clientWidth;
const Height = document.documentElement.clientHeight;
网页尺寸(内容可视区域)
![图片[5]-【JavaScript扩展】JavaScript中的各个宽度尺寸解析-资源刺客](https://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/11/20251112224140863.png)
要访问网页内容的尺寸(包括页面的填充,但不包括边框、外边距和滚动条),可以使用以下代码
const Witdh = document.documentElement.scrollWidth;
const Height = document.documentElement.scrollHeight;
注意: pageHeight 大于窗口内部高度,则会显示垂直滚动条
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END


![[学习笔记 Day06]Python 数据分析与应用:数据分析库 Pandas 的使用-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/09/20250923154612655.png)
![[学习笔记 Day08]数据分析与应用:数据聚合与分组运算-资源刺客](https://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/09/20250923154612655.png)
![[学习笔记 Day01]C++基础:简单的程序设计,始于梦想的开始!-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/09/20250922171813209.webp)
![[学习笔记 Day02]Vue基础:前端造梦,继续干!-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/09/20250919193418264.jpeg)

![[123盘直链防盗刷教程] WordPress子比主题下载配置123云盘直链鉴权教程-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/07/20260713220147718-123盘直链防盗刷教程-scaled.png)
![[学习笔记 Day01] Future 基础:Dart 语言从初识到异步编程的代码编写的蜕变-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/05/20260522182552195-科技感ENVI安装教程封面-10.png)
![[手把手教] 从DartSDK 的下载以及安装教程到编辑器的配置,包学会!-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/05/20260522162412506-科技感ENVI安装教程封面-9.png)

![[学习笔记 Day03]Redis 基础:Redis 设计的优化建议与最佳实践-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/05/20260521215425110-科技感ENVI安装教程封面-8.png)
![[自动化 + 手残党专属]宝塔安装AllinSSL证书管理教程-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/11/20251112122722716.png)


![[学习笔记 Day02]Redis + OpenResty + Lua 实现多级缓存-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/05/20260521202850344-科技感ENVI安装教程封面-7.png)


![[GitHub]Clawdbot-feishu:OpenClaw 的飞书集成插件-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2026/02/20260214135015363.png)

![[学习笔记 Day04]ASP.NET WEB 设计基础:让自己的程序飞向世界的每一个角落-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/08/20250827185617438.jpeg)



暂无评论内容