Javascript 为什么不是';t window.innerWidth是否返回正确的值?

Javascript 为什么不是';t window.innerWidth是否返回正确的值?,javascript,html,width,viewport,Javascript,Html,Width,Viewport,我试图解决使用Javascript确定浏览器“窗口”宽度的问题。我知道不同的人在这种情况下可能意味着不同的事情,所以具体来说,我指的是绿色区域,就像在post中一样 我已经阅读了这篇文章的前两条回复,以及其他一些针对这个问题的stackoverflow解决方案,但没有一个是我可以使用的:我正在使用Firefox 27.0.1,在1920像素宽的显示器上最大化窗口。脚本显示我的视口宽1536像素。我估计是1920年(或者差不多) 根据我所看到的,在我看来,最简单的解决方案是以下代码: <ht

我试图解决使用Javascript确定浏览器“窗口”宽度的问题。我知道不同的人在这种情况下可能意味着不同的事情,所以具体来说,我指的是绿色区域,就像在post中一样

我已经阅读了这篇文章的前两条回复,以及其他一些针对这个问题的stackoverflow解决方案,但没有一个是我可以使用的:我正在使用Firefox 27.0.1,在1920像素宽的显示器上最大化窗口。脚本显示我的视口宽1536像素。我估计是1920年(或者差不多)

根据我所看到的,在我看来,最简单的解决方案是以下代码:

<html>
<head>
<script type="text/javascript">
function onAfterLoad() {
    document.write('<p>Your viewport width is '+window.innerWidth+'</p>');
}
</script>
</head>
<body onload="onAfterLoad();">
</body>
</html>

函数onAfterLoad(){
document.write(“您的视口宽度为“+window.innerWidth+”

”); }
在编写此代码时,它是。这也说明我的视口是1536像素宽,而我认为应该是1920像素宽


请问我哪里出错了?

我认为您应该尝试使用Javascript函数,而不是处理Javascript函数

最基本的是

$(窗口).width()
(获取浏览器的宽度)

$(窗口).height()
(获取浏览器的高度)

希望这有帮助。

首先:
你确定那是你的视窗宽度吗? 要获取浏览器窗口的宽度还是整个屏幕的宽度? 如果你想得到整个屏幕的宽度,这在JavaScript中是不可能的。
其次:
尝试以下操作以获取浏览器窗口的宽度:

function GetWidth()
{
var width = document.body.clientWidth;
document.write('<p>Your viewport width is '+width+'</p>')
}
函数GetWidth() { var width=document.body.clientWidth; 文档。写入(“您的视口宽度为“+width+”

”) }
你的代码对我很有用。上面写着1600(我有一个1600 x 900的屏幕)。 调用代码时,浏览器是否最大化?
也许你的分辨率是1536 x,你的屏幕被拉长了?我会在你的屏幕设置中查看它。另一种尝试方法是打开Chrome和Devtools,然后调整浏览器的大小。它将向您显示浏览器窗口尺寸。

如果您将Microsoft Windows 7等配置为显示大25%的文本,则Firefox会将您的屏幕报告为实际大小的1/1.25倍。实际上1920年是1536年


(即使是画布中的矩形也被画得太大了25%。已经画过了,疯了。)

检查你的视口元标记。应该是:


对我来说,这个问题是浏览器缩放的结果。 尝试control+滚轮查看这是否会改变您获得的结果。
如果是这样,请参见

谢谢您的建议,但这似乎没有任何区别-请参见我忘记添加了,作为对您问题的回答,是的,我想获得的是浏览器窗口的宽度。@user1476044我刚才读到,
innerWidth
在跨浏览器时遇到一些问题。但正如我上面所说的,试一下。它在那个网站上起作用了!他们使用
document.body.clientWidth
@user1476044顺便说一句,你忘了像这样引用jQuery的库:
你必须添加它,这样jQuery才能工作!感谢您对fixed5.html的更正,但是页面仍然是空白的。还有,我不明白你说的“尝试”是什么意思。您认为我没有尝试过的是什么?我不知道如何使用jQuery语法来实现这一点。我明显的猜测给了我一个空白页面。浏览器窗口最大化,屏幕宽1920像素。我试过Chrome/Devtools,上面说我的窗口有1740宽,有8像素的边框,总共有1756个。更近一点,但还没有雪茄。这也为我解决了