Javascript iOs模拟器在方位检测方面有缺陷吗?

Javascript iOs模拟器在方位检测方面有缺陷吗?,javascript,ipad,orientation,Javascript,Ipad,Orientation,我正在苹果的ios模拟器(xcode)上测试一段代码。 基本上,当用户旋转ipad时,我试图重置缩放比例,但在模拟器上,它是如此不一致。我最初有一个基本的代码,如果方向是90,那么做这个,如果是-90,那么做那个,等等,但是如果我最初的方向是横向或纵向,那么可能会搞砸。这是ios模拟器的行为还是与ipad相同,我身上没有ipad,因此无法验证 当我重置缩放时,我首先删除所有的元标记内容,然后再次添加到内容中,因为如果我不这样做,它根本不起作用 示例代码是,我已经尝试使用设备宽度,它只是搞砸了。我

我正在苹果的ios模拟器(xcode)上测试一段代码。 基本上,当用户旋转ipad时,我试图重置缩放比例,但在模拟器上,它是如此不一致。我最初有一个基本的代码,如果方向是90,那么做这个,如果是-90,那么做那个,等等,但是如果我最初的方向是横向或纵向,那么可能会搞砸。这是ios模拟器的行为还是与ipad相同,我身上没有ipad,因此无法验证

当我重置缩放时,我首先删除所有的元标记内容,然后再次添加到内容中,因为如果我不这样做,它根本不起作用

示例代码是,我已经尝试使用设备宽度,它只是搞砸了。我不想使用css,因为内容是固定宽度的,所以我只需要重新缩放。我的方法错了吗?是否有其他经过测试的方法?我以前使用过switch语句,但我发现if更简单。多谢各位

if (orientation == 0 || orientation == 180) {
        viewport.attr("content", "");
        viewport.attr("content", "user-scalable=no, initial-scale=1, minimum-scale=1, maximum-scale=1, width=990px");
    }
    else {
        viewport.attr("content", "");
        viewport.attr("content", "user-scalable=no, initial-scale=0.77, minimum-scale=0.77, maximum-scale=0.77, width=990px");
    }
}

XCode模拟器非常好,我从来没有遇到过问题,除了它有时对方向变化的反应有点慢

如果您想用JavaScript检查它,我认为您最好尝试比较window.innerHeight和window.innerWidth,看看哪个最大

不久前我做了一个测试页面,它只使用CSS来测试某些媒体查询内容。 链接: 请注意,在横向方向上,设备的宽度和高度没有变化,这(至少对我来说)有点违反直觉,因此可能是iOS设备有时会提供意外的信息

我可以问一下为什么你不想使用CSS来做这个,因为它听起来非常可行


PM5544.

我不能100%确定方向是否需要是度,
-90,90
。如果没有,那么您可以尝试使用

方向==横向

这是一个有效的CSS3媒体查询

有时方向可能是“未知的”。我有一个警报,每次方向出现时都是正确的数字,但行为几乎是随机的。我刚才在一台ipad上查看了一下,结果还是一样的。没有办法正确使用JS来改变视口吗?我几乎感觉原来的方向总是0,然后每次你改变它时,它就变成+90或-90。无论是那个还是缩放都是错误的,根据我在模拟器中的经验,它总是以方向未知开始。我只是想在设备上测试一下,以确保它能按照你们的要求工作。我的内容是固定宽度的,这是一个巨大的项目,所以并没有时间为肖像创建一个全新的css。我将不得不使用innerheight/width方法,看看我是否能让它工作,因为定向方式根本不起作用。我无法更改css。我需要css以外的其他方法