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