jQuery window 宽度有时 return 错误值

jQuery window width sometimes return wrong value

有时我打电话给:

$(window).width();

返回的值是错误的(在除 IE 之外的所有浏览器上,在 IE 上总是正确的)。我使用以下行:

$('div.container p').text($(window).width());

更改 p 元素的文本,以便在调整 window 大小时可以看到返回的值。这是返回值错误时的示例:

在右上角,您可以看到 Chrome 上的实际尺寸。

我注意到当值错误时,它总是偏离 17px。

请注意,返回的值并不总是错误的,因此大多数时候 window 看起来应该是正确的。

求助!

这是因为浏览器视口的滚动条。 如果你最小化 window 足以显示滚动条,视口会说它比你的值小 17px。如果window填满,则不会出现17px的差异。

@Inacio Schweller 是正确的。

要获得一致的跨浏览器结果,您可以使用非jQuery版本:

window.innerWidth

尝试将其输入浏览器的控制台,您会发现 returns 无论您使用何种浏览器,结果都是一致的。

注意:非jQuery版本window.outerWidthreturns在IE和Chrome中的结果相同,但returns在Firefox中的值稍小.