专注于输入框和方向变化会影响iOS 6 Safari的缩放级别

4

编辑:我猜这个Stackoverflow上的问题与这个问题有关。

编辑:问题只在保存到主屏幕时出现,而不是在浏览上下文中。

注意:关于缩放和方向变化的所有内容都按预期工作,直到任何输入元素被聚焦。

我有一个具有以下视口设置的Web应用程序:

<meta name="viewport" content="user-scalable=no, width=1024">

每当输入字段获得焦点时,缩放级别就会混乱。虽然在方向更改时一切都运作良好,但我尝试了几种不同的解决方法,但卡住了。
以下是当输入聚焦并触发方向更改时发生的情况:
1.从纵向到横向 页面被缩小,并且无法填满整个视口。 如果在此模式下聚焦于输入元素,则会放大它,并在横向模式下看起来正常,但是如果再次旋转它,则会像第2个问题那样出现相同的问题。
2.从横向到纵向 页面被放大,覆盖了更多的视口。
我们尝试过以下方法: 1. Meta标签设置为viewport(initial-scale,maximum-scale和minimum-scale) 2. 删除viewport标签 3. 在JavaScript中处理方向更改,并在方向更改时动态设置新的viewport设置 4. 尝试计算规模级别(document.documentElement.clientWidth / window.innerWidth)onorientationchange 5. 将输入字段字体大小设置为至少16px
我有点卡住了,确信自己错过了一些明显的东西,所以问题是: 如何确保iOS Safari中的缩放级别在输入聚焦之后与输入聚焦之前相同?
1个回答

0

试试这个:

<meta name="viewport" id="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0" >

这应该可以阻止Safari做那个令人烦恼的缩放到聚焦输入的事情。


谢谢您的建议,但在Safari(和Chrome)中它可以正常工作,只有在iOS应用程序内部的WebView中消耗Web时才会出现问题。我们已经排除了Web作为问题,并通过在应用程序中处理来修复它(需要问问应用程序开发人员他是如何解决的,然后我才能分享)。 - emccracken
请注意,如果您正在输入并更改方向,则最大缩放比例为1.0会导致网站崩溃。 - Dominic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接