是否有一种方法适用于所有浏览器?


当前回答

使用jQuery,你可以做到:

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

其他回答

你是指显示分辨率(例如72点每英寸)还是像素尺寸(浏览器窗口目前是1000 x 800像素)?

屏幕分辨率可以让你知道10像素的线有多粗,单位是英寸。像素尺寸告诉你可用屏幕高度的百分比将被10像素宽的水平线所占据。

仅通过Javascript无法知道显示分辨率,因为计算机本身通常不知道屏幕的实际尺寸,只知道像素的数量。72 dpi是通常的猜测....

请注意,关于显示分辨率有很多困惑,人们经常使用这个术语而不是像素分辨率,但这两者是非常不同的。看到维基百科

当然,你也可以用点/厘米来测量分辨率。还有一个令人费解的非方形圆点问题。但我离题了。

想要在移动设备上实现这个功能需要更多的步骤。屏幕上。不管设备的方向如何,availWidth保持不变。

以下是我的手机解决方案:

function getOrientation(){
    return Math.abs(window.orientation) - 90 == 0 ? "landscape" : "portrait";
};
function getMobileWidth(){
    return getOrientation() == "landscape" ? screen.availHeight : screen.availWidth;
};
function getMobileHeight(){
    return getOrientation() == "landscape" ? screen.availWidth : screen.availHeight;
};

在JavaScript中,这将为你提供可用的宽度/高度:

window.screen.availHeight
window.screen.availWidth

对于绝对宽度/高度,使用:

window.screen.height
window.screen.width

上面两个代码都可以在没有窗口前缀的情况下编写。

喜欢jQuery吗?这适用于所有浏览器,但每个浏览器给出不同的值。

$(window).width()
$(window).height()
function getScreenWidth()
{
   var de = document.body.parentNode;
   var db = document.body;
   if(window.opera)return db.clientWidth;
   if (document.compatMode=='CSS1Compat') return de.clientWidth;
   else return db.clientWidth;
}

找到屏幕分辨率的简单步骤是:

复制

`My screen resolution is: ${window.screen.width} * ${window.screen.height}`

粘贴到浏览器控制台 回车