在我的 Surface 和 MacBook 上,我将分辨率设置为 2160x1440,但我的代码:
$(window).height(); //return 960
$(window).height(); //return 1440
我已经在 Windows 上测试过了,它运行正常。这里有什么问题?
最佳答案
这是因为您使用的是 Retina 显示器。
您必须使用 window.devicePixelRatio
来计算实际分辨率。
编辑:http://ryanve.com/lab/resolution/ 上有很多关于分辨率和设备像素比的信息
一些重要的注意事项:
- devicePixelRatio 定义因平台而异。
window.devicePixelRatio
相当于dppxwindow.devicePixelRatio
在桌面上随着缩放而变化,但在移动设备上保持不变。设备像素比媒体查询也不同。
关于javascript - 检测 Mac 和 Surface 上的窗口分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25258663/