4

我有一个奇怪的情况。 一个简单的代码这样IE11 javascript屏幕分辨率

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title></title> 
    <script> 
     function checkScreen() 
     { 
      alert(window.screen.width); 
      alert(window.screen.height); 
     } 
     checkScreen(); 
    </script> 
    </head> 
    <body> 
    </body> 
</html> 

它适用于所有的浏览器,并展示给我,我的屏幕分辨率(1920×1080),但在IE 11也显示1812x1029。 搜索后,我还没有发现任何东西可以帮助我理解为什么IE从js中获取这些值(它甚至不是视口)。 如果有人可以照亮我这种情况,这将是一个很大的帮助。 谢谢。

+1

也可能是因为任务栏,IE浏览器往往会调整页面浏览量。 – RugerSR9

+1

桌面上是否有一些元素占据大约100px的水平空间和50px的垂直空间,如侧边栏和底座,其他窗口无法隐藏? –

回答

2

什么是IE浏览器的缩放级别?按照MDN

“当 报告的屏幕高度,Internet Explorer将考虑缩放设置。如果变焦设置为100%,它只会返回 屏幕上的真实高度。”

+0

它似乎不是一个缩放问题 – CtrlX

+0

MDN是正确的;如果缩放不是100%,您的值将不正确。 https://twitter.com/jonathansampson/status/410987355852386304 – Sampson

+0

确定它是正确的,但如果它是缩放问题,则值将是“1824”(1920年的95%)或“1728”(1920年的90%)或相似的东西。 1812没有缩放步骤。 – CtrlX

-4

如果你使用jQuery,您可以使用:

$(window).width(); 
$(window).height(); 

获得良好的大小值。

编辑:考虑到的意见,这里是 '非jQuery的' 回答:

var w = window, 
d = document, 
e = d.documentElement, 
g = d.getElementsByTagName('body')[0], 
width = w.innerWidth || e.clientWidth || g.clientWidth, 
height = w.innerHeight|| e.clientHeight|| g.clientHeight; 
alert(width); 
alert(height); 
+2

考虑到没有jQuery标签,我认为这是一个可怜的答案 –

+3

这会给*屏幕*高度?我想可能不是。 – yochannah

+0

我的回答错了吗?它值得-4吗?请解释,以便我可以进步 – CtrlX