防止移动Safari浏览器在视口底部被点击时呈现工具栏

我们有一个简单的移动应用程序在iOS上的移动Safari(MS)上运行。 当用户向下滚动页面n个像素时,“顶部”button从底部向上滑动。 顶部的button是固定的位置。 问题是,当你开始在MS中滚动时,导航和工具栏UI被隐藏。 当你点击“顶部”button,它会显示底部的工具栏,第二次点击是需要点击“顶部”button。 有什么办法可以禁用默认的“点击视口的底部显示工具栏”的行为,所以我们的顶部button按预期工作(即跳转到页面的顶部只需点击一下,而不是两个?

不,那里没有。 你可以控制你的网页的内容,但不是Safari的应用程序的行为。

对于iOS 7.1,您可以在页眉中设置以最小化UI:

<meta name="viewport" content="width=device-width, minimal-ui"> 

它是在iOS 7.1 beta 2中引入的。这个网站帮助我理解了如何使用minimal-ui: http : //www.mobilexweb.com/blog/ios-7-1-safari-minimal-ui-bugs

Mika和typeoneerror是正确的,但有一个解决方法。

我发现的最好的解决scheme解决scheme(不需要minimal-ui )是强制iOS Safari的底部导航始终保持打开/可见状态。 这样,点击到窗口的底部从不打开底部的导航,因为它总是打开。

要做到这一点,你只需要应用一些CSS和浏览器定位与JS。 具体步骤如何:

  • 如何强制显示移动Safari底部导航栏以编程方式显示?
  • alignment到页面底部的button与移动Safari的菜单栏冲突

这里的简单解决scheme是在最底部的div上添加大约50px的padding-bottom。 Safari似乎认为你正在尝试访问底部的导航栏,除非你点击底部区域上方。 在底部有额外的填充,用户将点击更高的页面(并不总是,但总的来说)。