JavaScript screen.height 和 screen.width 返回不正确的值
Posted
技术标签:
【中文标题】JavaScript screen.height 和 screen.width 返回不正确的值【英文标题】:JavaScript screen.height and screen.width returns incorrect values 【发布时间】:2013-04-23 01:04:21 【问题描述】:我想从 JS 获取用户显示的屏幕分辨率, 所以我决定使用 screen.height 和 screen.width 属性,但我注意到我得到了一些不正确的值,例如我有全高清显示器,高度为 1280 像素,但 screen.height 返回 630,宽度为 1120。这可能是什么原因? 谢谢!
编辑:对我来说,它似乎发生在 FireFox 上,从 IE 10 我得到了正确的值。
【问题讨论】:
这和***.com/questions/3437786/…一样吗?您是否使用 jQuery 库获得一致的结果? 嗯.. 我发现这个问题发生在我使用 Zoom 时,所以当我将缩放重置为默认值时,FireFox 会返回正确的值。 【参考方案1】:Firefox 根据缩放百分比返回一个值;但是 window.devicePixelRatio 会给你这个百分比。因此下面的 JS 代码给出了正确的值:
var w = screen.width; var h = screen.height;
var DPR = window.devicePixelRatio;
w = Math.round(DPR * w);
h = Math.round(DPR * h);
【讨论】:
以上是关于JavaScript screen.height 和 screen.width 返回不正确的值的主要内容,如果未能解决你的问题,请参考以下文章
什么是 Screen.width 和 Screen.height 值?
javascript宿主对象之window.screenwindow.close()/open()window.moveTowindow.resizeTo
window.screen.width/height 不应该对应于实际的屏幕宽度/高度吗?
window.screen.height和window.screen.availHeight和document.body.clientHeight和document.documentElement.c