如何在移动Safari for web app中计算可视区域的高度(即窗口高度减去地址和书签栏)?

Cra*_*lot 19 iphone safari mobile-safari ios ios7

计算移动Safari上可用空间的正确方法是什么?通过查看区域,我们指的是Web应用程序实际可用的屏幕数量,即窗口高度减去地址和书签栏.

iOS 7可以防止隐藏地址栏,我们需要正确考虑视口高度.

nei*_*lco 19

window.innerWidth并且window.innerHeight会给视口的宽度和高度.

  • 这似乎不适用于iOS 7; 减去地址和书签栏后,window.innerHeight不会产生高度.我们还需要做点别的吗? (8认同)
  • 在运行iOS 7.0.2的iPhone 4S上,`window.screen.availHeight`给出了460.那就是480px减去状态栏的高度.当地址栏和标签栏都可见时,`window.innerHeight`是373.如果我滚动以最小化地址栏并隐藏标签栏,`window.innerHeight`报告441. (6认同)
  • `window.screen.availHeight`在iphone5S/ios7.0.3上返回548,带或不带工具栏和大/小地址栏; `window.innerHeight`初始化返回529,滚动后返回460. (4认同)

Luu*_*Bac 9

对于2020年到来的任何人来说,window.screen.availHeight这是唯一一个像@Marcel Falliere下面的评论一样起作用的人。