当我以纵向模式启动我的应用程序时,它工作得很好。然后我旋转到风景中,它被放大了。为了让它在横向模式下正确缩放,我必须双击两次,第一次是放大(正常的双击行为),第二次是缩小(再次是正常的双击行为)。当它缩小时,它会缩小到横屏模式的正确新比例。
切换回纵向似乎更一致;也就是说,它处理缩放,以便在方向更改回纵向时比例正确。
我想知道这是不是个bug?或者这是不是可以用JavaScript修复?
对于viewport元内容,我将初始比例设置为1.0,并且没有设置最小或最大比例(我也不想这样做)。我将宽度设置为device-width。
有什么想法吗?我知道很多人都希望有一个解决方案,因为这似乎是一个长期存在的问题。
发布于 2010-04-30 21:25:49
我也遇到了同样的问题,并且设置maximum-scale=1.0对我很有效。
编辑:正如评论中提到的,这不会禁用用户缩放,除非内容超过宽度分辨率。如前所述,这可能并不明智。在某些情况下,它也可能是所需的。
视口代码:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0;">
发布于 2010-10-13 15:36:03
如果在视口中设置了宽度:
<meta name = "viewport" content = "width=device-width; initial-scale=1.0;
maximum-scale=1.0;" />
然后改变方向,有时它会随机放大(特别是当你在屏幕上拖动的时候)来解决这个问题,不要在这里设置宽度,我使用:
<meta id="viewport" name="viewport" content="initial-scale=1.0; user-scalable=0;
minimum-scale=1.0; maximum-scale=1.0" />
这修复了缩放,无论发生什么,你都可以使用window.onorientationchange事件,或者如果你想让它独立于平台(便于测试),就使用window.innerWidth方法。
发布于 2010-04-01 11:05:52
MobileSafari支持window
对象上的orientationchange
事件。不幸的是,似乎没有一种方法可以通过JavaScript直接控制缩放。也许您可以动态编写/更改控制视口的meta
标记-但我怀疑这是否有效,它只影响页面的初始状态。也许你可以通过这个事件来调整你的CSS内容的大小。祝好运!
https://stackoverflow.com/questions/2557801
复制相似问题