(这是一个多部分的问题,我将尽力总结一下该场景。)
我们目前正在构建一个响应式Web应用程序(新闻阅读器),允许用户在选项卡式内容之间滑动,以及在每个选项卡式内容内垂直滚动。
解决该问题的常用方法是使用一个包装器div
来填充浏览器视口,将其设置overflow
为hidden
或auto
,然后在其中进行水平和/或垂直滚动。
这种方法很棒,但有一个主要缺点:由于文档的高度与浏览器的视口完全相同,因此移动浏览器不会隐藏地址栏/导航菜单。
有许多hack和视口属性可以使我们获得更多的屏幕空间,但效果却不如minimal-ui
iOS 7.1中引入的效果。
昨天有消息称,iOS 8 beta4已从minimal-ui
Mobile Safari中删除(请参阅iOS 8发行说明中的 Webkit部分),这使我们感到奇怪:
Q1。是否仍然可以在Mobile Safari中隐藏地址栏?
据我们所知,iOS 7 不再对这种window.scrollTo
入侵做出响应,这表明我们必须使用较小的屏幕空间,除非我们采用垂直布局或使用mobile-web-app-capable
。
Q2。是否仍有可能获得类似的软全屏体验?
通过软全屏,我的意思是不使用mobile-web-app-capable
meta标签。
我们的网络应用程序构建为易于访问,可以使用本机浏览器菜单将任何页面添加为书签或共享。通过添加,mobile-web-app-capable
我们防止用户调用这样的菜单(当菜单保存到主屏幕时),这会使用户感到困惑和反感。
minimal-ui
过去是中间地带,默认情况下隐藏菜单,但可通过轻按使其保持可访问状态 -尽管Apple可能由于其他可访问性问题(例如用户不知道在何处激活菜单)而将其删除。
Q3。全屏体验值得麻烦吗?
似乎全屏API不会很快进入iOS,但是即使这样,我也看不到菜单如何保持可访问性(Android上的Chrome也是一样)。
在这种情况下,也许我们应该只保留移动浏览器,并考虑视口高度(对于iPhone 5+,它是460 = 568-108,其中108包括OS栏,地址栏和导航菜单;对于iPhone 4或更老的是372)。
很想听听其他选择(除了构建本机应用程序之外)。