协慌网

登录 贡献 社区

如何获得浏览器视口尺寸?

我想为访问者提供观看高质量图像的能力,有什么方法可以检测窗口大小吗?

或者更好的是,带有 JavaScript 的浏览器的视口大小?在此处查看绿色区域:

答案

跨浏览器的 @media (width)@media (height)

const vw = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
const vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);

window.innerWidth.innerHeight

  • 获取CSS 视口 @media (width)@media (height) ,其中包括滚动条
  • initial-scale和缩放变化可能会导致移动值错误地缩小到 PPK 称为可视视口的值,并且小于@media
  • 缩放可能会由于本地舍入而导致值偏离 1 像素
  • 在 IE8 中undefined

document.documentElement.clientWidth.clientHeight

资源资源

jQuery 维度函数

$(window).width()$(window).height()

您可以使用window.innerWidthwindow.innerHeight属性。

内部高度与外部高度