有没有适用于所有浏览器的方法?
如何使用 JavaScript 检测屏幕分辨率?
原答案
是的。
window.screen.availHeight
window.screen.availWidth
更新2017-11-10
来自评论中的海啸:
要获得 ie 移动设备的原始分辨率,您必须乘以设备像素比:
window.screen.width * window.devicePixelRatio
和window.screen.height * window.devicePixelRatio
。这也适用于比率为 1 的台式机。
来自本的另一个答案:
在 vanilla JavaScript 中,这将为您提供可用的宽度/高度:
window.screen.availHeight window.screen.availWidth
对于绝对宽度/高度,请使用:
window.screen.height window.screen.width
var width = screen.width;
var height = screen.height;
在 vanilla JavaScript 中,这将为您提供可用的宽度/高度:
window.screen.availHeight
window.screen.availWidth
对于绝对宽度/高度,请使用:
window.screen.height
window.screen.width
以上两种都可以不用window前缀来写。
像jQuery?这适用于所有浏览器,但每个浏览器给出不同的值。
$(window).width()
$(window).height()
您还可以获得 WINDOW 宽度和高度,避免浏览器工具栏和...(不仅仅是屏幕大小)。
为此,请使用:
window.innerWidth
和 window.innerHeight
属性。在 w3schools 看到它。
在大多数情况下,这将是最好的方式,例如,显示一个完美居中的浮动模态对话框。它允许您计算窗口上的位置,无论浏览器使用的是哪种分辨率方向或窗口大小。
您是指显示分辨率(例如每英寸 72 点)还是像素尺寸(浏览器窗口当前为 1000 x 800 像素)?
屏幕分辨率使您能够知道 10 像素线的粗细(以英寸为单位)。像素尺寸告诉您 10 像素宽的水平线将占据可用屏幕高度的百分比。
仅从 Javascript 无法知道显示分辨率,因为计算机本身通常不知道屏幕的实际尺寸,只知道像素数。72 dpi 是通常的猜测....
请注意,关于显示分辨率存在很多混淆,人们通常使用该术语而不是像素分辨率,但两者完全不同。参见维基百科
当然,您也可以用每厘米的点数来衡量分辨率。还有非方形点的晦涩主题。但我离题了。