【问题标题】:iOS 7 Safari nav bar height offsetiOS 7 Safari 导航栏高度偏移
【发布时间】:2013-09-27 21:18:31
【问题描述】:

所以在 iOS 6 和更早的版本中,Safari 底部的导航栏被固定为纵向模式并且没有消失。因此,如果您希望 100% 高度的文档真正全屏显示,则必须添加额外的 60 像素,以便您可以向上滚动并隐藏地址栏。

现在在 iOS 7 中,导航栏和调整大小的地址栏消失了,您将如何创建一个 100% 高度的文档?换句话说,我希望能够向上滚动文档,以便导航栏消失,地址栏调整为迷你版本,然后文档高度将填充其余部分(窗口高度减去 100px 左右),这样你无法继续滚动。

【问题讨论】:

  • this 有帮助吗?
  • IOS7 Safari 在浏览器页脚出现和消失时不会触发 resize 事件,因此您可能不走运。我确信 jquery 移动团队正在研究一种解决方法,但现在您可能只需要重新考虑您的方法。
  • 另见this article

标签: jquery html css safari ios7


【解决方案1】:

看起来简单添加额外高度的传统方法仍然有效,但现在添加的值似乎是 69px 而不是 60px。

【讨论】:

  • 太棒了。这个从 60 到 69 的小修复解决了我遇到的问题。
【解决方案2】:

作为缺少 resize() 事件的解决方法:

var windowInnerHeight = window.innerHeight;

setInterval(function() {
    if (windowInnerHeight != window.innerHeight) {
        windowInnerHeight = window.innerHeight;
        resize();
        window.scrollTo(0, 0);
    }
}, 500);

【讨论】:

    【解决方案3】:

    在 iOS 7.x 测试版中,有一个名为“minimal-ui”的新元属性,看起来它将提供此功能而无需任何黑客攻击。

    Thread here (scroll down to Safari)

    这是一个未来的功能,所以可能对你没有帮助

    【讨论】: