(这是一个多部分的问题,我会尽力总结场景。)
我们目前正在构建一个响应式网络应用程序(新闻阅读器),允许用户在标签内容之间滑动,以及在每个标签内容内垂直滚动。
解决此问题的常见方法是使用包装器div
填充浏览器视口,设置overflow
为hidden
或auto
,然后在其中水平和/或垂直滚动。
这种方法很好,但有一个主要缺点:由于文档的高度与浏览器视口完全相同,因此移动浏览器不会隐藏地址栏/导航菜单。
有许多技巧和视口属性使我们能够获得更多的屏幕空间,但没有一个像minimal-ui
(在 iOS 7.1 中引入的)那样有效。
昨天有消息称 iOS 8 beta4 已从minimal-ui
Mobile Safari 中删除(请参阅iOS 8 发行说明中的Webkit 部分),这让我们感到疑惑:
一季度。是否仍然可以隐藏 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 也是如此)。
在这种情况下,也许我们应该保持移动 safari 原样,并考虑视口高度(对于 iPhone 5+,它是 460 = 568 - 108,其中 108 包括操作系统栏、地址栏和导航菜单;对于 iPhone 4 或更旧,它是 372)。
很想听听一些替代方案(除了构建本机应用程序)。