javascript - window.innerWidth 和 window.innerHeight 不正确

标签 javascript google-chrome firefox dom canvas

我遇到了一个我很难描述的奇怪错误...

我正在开发一个 HTML5 Canvas 应用程序,当它从我的 localhost 服务器提供服务时开始表现异常。我发现 window.innerWidthwindow.innerHeight 突然在 Firefox 和 Chrome 中报告不正确。 innerWidth 在此机器上应为 1366,但在 Firefox 中报告为 1525,在 Chrome 中报告为 2048。

我认为这可能是我的 javascript 中的一个奇怪故障,但我发现这现在影响了从 localhost 查看的所有页面,并且在一些较旧的应用程序中弄乱了 css。

奇怪的是,当从 127.0.0.1 查看时,一切都按预期工作。我们还发现,当我的老板从公共(public) Dropbox 文件夹提供并​​在他的计算机上的 Firefox 中查看该应用程序时,也会发生同样的问题(Chrome 可以正常工作)。然而,在那台计算机上本地服务没有显示任何问题。

这个让我完全难住了。我希望有人知道可能的原因或追踪问题的方法,因为我们不允许这种情况发生在使用该应用程序的客户身上。

编辑:更多数字

window.innerWidth: 2048
window.outerWidth: 1366
screen.width: 1366
window.screen.availWidth: 1366

innerWidth 是唯一错误的,它与页面内容无关,因为即使打开空白文件,这些值也保持不变。

最佳答案

我最近要记住的一点是,innerWidth 取决于浏览器窗口中的缩放选项。例如对于 chrome,这恰好在某些情况下为特定的 URL 保存。所以我有这样的情况,对于本地主机 URL,它是 100%,而对于生产 URL,它是 125%,这让我感到困惑。也许检查您的浏览器缩放设置。

关于javascript - window.innerWidth 和 window.innerHeight 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22455906/

相关文章:

css - 为什么 contentEditable 的插入符号在 Firefox、IE 中缩小时会消失?

javascript - Firefox 扩展 : how to read a cookie name and value on the current page

javascript - 如何通过表单提交插入后显示成功消息

javascript - 未知的自定义元素 : <v-app> in Root when using vue with laravel

javascript - 具有循环功能的 <video> 元素不会在 Chrome 或 Firefox 中无缝循环播放视频

javascript - Chrome 自动填充无法部分工作

c# - 在 Mozilla Firefox 中通过 ASP.NET 显示多行工具提示 - 这可能吗?

java - 使用 jSoup 解析网站

javascript - Angular Js $httpParamSerializer 和 jQuery $.ajax

javascript - 如何检测 JavaScript 中的设备触摸支持?