window.screen.width和window.screen.height无法在iPad 3上运行

Flo*_*y88 4 javascript

我正在使用这些功能

window.screen.width
window.screen.height
Run Code Online (Sandbox Code Playgroud)

检测用户的屏幕分辨率.它们就像PC上的魅力一样,但它们不适用于iPad 3.它们输出768和1024而不是2048和1536.

请问有人可以帮助我吗?先感谢您

Ric*_*haw 8

是的.欢迎来到移动设备的有趣世界!

iPad 3(以及其他视网膜设备)使用window.devicePixelRatioset 2来显示它们与逻辑像素具有不同的css像素.iPad 3仍然报告1024×768,因为这是CSS像素的数量.

作为另一个混乱的来源,一些Android设备报告视口宽度,一些物理宽度,这意味着如果你问一些Android设备,window.screen.height如果文件很长,将成千上万.

简而言之,对于您的问题,请使用window.devicePixelRatio乘数.我会用类似的东西

if(!window.devicePixelRatio) {
    window.devicePixelRatio = 1;
}
Run Code Online (Sandbox Code Playgroud)

如果未设置,则在开始之前将其声明为1.