我使用window.innerHeight和window.innerWidth指令来获取浏览器的可用窗口大小。它可以在火狐,safari (在mac上)和android上运行,但我在iOS上得到了奇怪的结果。
iOS始终返回innerHeight=1091和innerWidth=980。
我使用的是iPhone的iOS模拟器(我没有iOS /iPod)。iPhone和iPhone视网膜仿真器返回相同的值。我不明白他们怎么能都返回相同的数字,因为这两个型号有两个不同的屏幕分辨率。
我尝试了viewport参数,但没有成功。
发布于 2015-10-13 17:34:07
尝试使用screen.width
而不是window.innerWidth
。
<script>
if (screen.width > 650) {
....
}
</script>
发布于 2016-09-06 17:51:24
也被同样的问题卡住了。以下是对我有效的解决方案。
首先,我要检测客户端是否是iOS设备。然后我使用Screen interface获得了正确的值
var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
var iw = (iOS) ? screen.width : window.innerWidth, ih = (iOS) ? screen.height : window.innerHeight;
发布于 2011-08-02 15:49:55
添加
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no">
添加到<head>
元素。这将解决innerWidth
问题。
视网膜具有高密度像素-基本上是4个硬件像素对1个逻辑像素。这就是为什么他们报告了相同的解决方案。
https://stackoverflow.com/questions/4629969
复制相似问题