2

我有一个 jquery 移动页面,其中有一个文本框。单击文本框后,虚拟键盘将出现在电话屏幕上。

问题从这里开始。如果我在 android 2.3.3 中运行该页面,我的页面上的页脚会在键盘出现时出现。但是当我在 ICS 上运行我的页面时,这不会发生。我知道 android 2.3.3 中存在与页眉和页脚(github 链接)的固定定位相关的错误。

这个问题是因为同样的原因吗?

请帮忙 !!谢谢 !!

4

3 回答 3

5
  1. 确保通过将此元标记添加到您的头部来禁用放大您的应用程序:

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

  2. 像往常一样创建带有页脚的页面。确保不要添加data-position="fixed"

  3. 相反,将类“fixedFooter”添加到页脚的类属性中:class="fixedFooter"

  4. 在您的 CSS(-file) 中创建类“fixedFooter”:

    .fixedFooter 
    {
       position: fixed !important;
       left: 0px !important;
       right: 0px !important;
       bottom: 0px !important;
       z-index: 999 !important;
    }
    
于 2012-11-27T09:13:22.460 回答
1

如果您的代码在 ICS 上工作并且在 Android 2.3.x 中不工作,这是因为 2.3.x 中的错误style="position:fixed;"

在您的 HTML 头中将 meta 更改为:

<meta name="viewport" content="width=device-width, initial-scale=1.0,
     minimum-scale=1.0, user-scalable=no"/>

这解决了 Android 2.3.x 问题。

更多信息: http:
//benfrain.com/easy-css-fix-fixed-positioning-android-2-2-2-3/
http://bradfrostweb.com/blog/mobile/fixed-position/

编辑:
我不建议更改所有设备的视口。它可能会导致不同的行为,例如用户无法进行缩放、捏合等。应该检测访问者是否使用 Gingerbread 设备,如果用户有 Gingerbread,则更改视口。要检查 Android 版本,您可以使用:
Detecting Android Browser (from v. 1 to 2.3 firmware) in PHP

于 2014-03-12T20:00:50.107 回答
0

从视口中删除“user-scalable=no”,一切正常

解释@ http://wil.to/android-positioning/

在 2.2.2 上像魅力一样工作

于 2013-09-13T09:54:26.487 回答