我目前正在使用标准的scrollTo技术(类似于这里)在iOS上隐藏地址栏。我还在使用iOS 6智能应用横幅,但是当使用上述技术隐藏地址栏时,智能应用横幅也会被隐藏在屏幕顶部的地址栏之上。有没有什么方法可以隐藏地址栏但不隐藏智能横幅?
长话短说,聪明的HTML5 Boilerplate团队已经在他们的移动版本中解决了这个问题。请查看helper.js中的MBP.hideUrlBarOnLoad,它隐藏地址栏但不隐藏智能应用程序横幅。关键区别似乎是MBP.getScrollTop,它获取比简单滚动到1更智能的滚动点。
scrollTo
技术依赖于在移动Safari中,当调用scrollTo
函数时,地址栏会隐藏。由于智能横幅也是由浏览器渲染的(它不仅仅是一块嵌入的HTML),可能无法单独触发这两个事件。我的唯一建议是使用scrollTo(0, 0)
,尽管这在Android设备上无法正常工作。 - MTCosterscrollTo
中使用负值(可能不起作用)。否则,请尝试使用scrollIntoView
。尝试使用JS创建一个空元素,并将其定位于y =屏幕高度-横幅高度-工具栏高度
,然后在该元素上应用scrollIntoView(false)
。 - Gerben