当屏幕方向改变时,window.screen.width值在iPad浏览器中不会改变

时间:2016-09-08 09:56:54

标签: javascript html ipad

我试图使用window.screen.width获取用户设备的屏幕宽度。这种方法在大多数设备上运行良好,但在iPad上运行不正常。当iPad处于纵向模式时,屏幕宽度显示为768px,高度显示为1024px(使用window.screen.height)。直到现在一切都很好。但横向模式下的宽度和高度也保持不变。在其他设备中," 宽度*高度"当方向发生变化时,值会切换,所有计算都基于该概念。

2 个答案:

答案 0 :(得分:0)

使用

的替代解决方案
window.innerWidth 
window.innerHeight

如果您的Web视图适合您的iOS ViewController,则将完美工作 并且即使在应用程序运行时更改方向也可以为您提供正确的值。

screen.availWidth & screen.availHeight仅在第一次运行时为您提供正确的值,然后再更改iPad的方向

答案 1 :(得分:-1)

而不是使用screen.width使用下面的一个:

var body = document.body;

    if(body.scrollWidth < 1024){
      //code here
    }

    if(body.scrollWidth < 768){
      //code here
    }

    if(body.scrollWidth == 1024){
      //code here
    }

    if(body.scrollWidth <= 1024){
      //code here
    }