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


当前回答

您还可以获得窗口宽度和高度,避免浏览器工具栏和…(不仅仅是屏幕大小)。

要做到这一点,请使用: 窗口。innerWidth和window。innerHeight属性。详见w3schools。

在大多数情况下,这将是最好的方式,例如,显示一个完美的中心浮动模式对话框。它允许您计算窗口上的位置,无论使用浏览器的分辨率方向或窗口大小。

其他回答

原来的答案

Yes.

window.screen.availHeight
window.screen.availWidth

更新2017-11-10

来自海啸的评论:

为了获得移动设备的原生分辨率,你必须与设备像素比相乘:window.screen.width * window.devicePixelRatio和window.screen.height * window.devicePixelRatio。这也适用于桌面,桌面的比率为1。

本的另一个回答是:

在JavaScript中,这将为你提供可用的宽度/高度: window.screen.availHeight window.screen.availWidth 对于绝对宽度/高度,使用: window.screen.height window.screen.width

您还可以获得窗口宽度和高度,避免浏览器工具栏和…(不仅仅是屏幕大小)。

要做到这一点,请使用: 窗口。innerWidth和window。innerHeight属性。详见w3schools。

在大多数情况下,这将是最好的方式,例如,显示一个完美的中心浮动模式对话框。它允许您计算窗口上的位置,无论使用浏览器的分辨率方向或窗口大小。

如果你指的是浏览器分辨率的话

窗口。innerWidth为您提供浏览器分辨率

您可以使用http://howbigismybrowser.com/进行测试 尝试通过放大/缩小浏览器来改变屏幕分辨率,并使用http://howbigismybrowser.com/检查分辨率大小 窗口。innerWidth应该与屏幕分辨率宽度相同

想要在移动设备上实现这个功能需要更多的步骤。屏幕上。不管设备的方向如何,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()