在 chrome 中获取错误的窗口高度

Dan*_*son 7 javascript jquery

我试图在 Chrome 中获得正确的浏览器窗口的宽度和高度。Firefox 中的大小是正确的,我没有尝试过任何其他浏览器。

我有文档类型设置为!DOCTYPE html和尝试$( window ).height()$( window ).width()window.innerHeightwindow.innerWidth,但他们都给出错误的价值观。

我正在运行 openSuse tumbleweed,chrome 的版本是“Version 86.0.4240.75 (Official Build) (64-bit)”

将 chrome 更新为“版本 87.0.4280.88(官方版本)(64 位)”这也没有帮助,仍然是错误的大小。

我在显示这一点的图像中包含了一些,注意:DOMRect 值在 chrome 中不正确,但在 firefox 中是正确的。抱歉,您可能需要放大才能看到这些值。下面是我在两个图像中登录的内容。

console.log(
    $('#primary')[0].getBoundingClientRect(),
    $( window ).width(),
    window.innerWidth,
    $( window ).height(),
    window.innerHeight
)
Run Code Online (Sandbox Code Playgroud)

我需要精确的尺寸才能正确排列。您可以在 Firefox 图像下方看到水平滚动条正上方的背景颜色“红色”。我需要知道窗户的正确尺寸,以便我可以进行数学计算并排列整齐。

有没有另一种更准确的方法来做到这一点?

 铬尺寸错误。

Firefox 中的正确大小

下图是我从“FSDford”下面的评论中建议的 JSFiddle 中得到的。您可以在控制台中看到大小为 877 的红色“需要放大才能看到”。尺子说它的宽度是 856!Firefox 再次具有正确的宽度。

JSFiddle 错误的大小

JSF中等大小

小智 0

我不认为你需要 JQuery 来获取浏览器窗口的宽度,只需尝试使用window.innerWidth本机 JavaScript 即可。