检测iPhone浏览器中是否显示地址栏

For*_*tes 13 javascript iphone

当我正在显示iPhone浏览器中的地址栏时,我试图以面向未来且与设备无关的方式检测.这是显示在顶部的工具栏,用于显示URL.它可以通过调用隐藏:

window.scrollTo(0, 0)
Run Code Online (Sandbox Code Playgroud)

我想做的是检测它何时被显示(从而减少可用的观看空间)并设置一个计时器以便在大约一秒钟之后再次隐藏它.比这更频繁,它会非常烦人,因为用户将无法访问地址栏.

我试过检查window.pageYOffset,不幸的是,如果网址栏的任何部分可见,则返回零.

希望硬编码在iPhone上的任何尺寸,并检查那些使用当前视口大小.它太脆弱了.

有人知道解决方案吗?

And*_*y E 11

window.innerHeight属性是你在找什么.这是屏幕上实际内容的高度.当顶部的工具栏可见时,它显着减少,因为内容的空间较小.还有的是,我似乎无法找出我的iPhone 4一个小问题- window.innerHeight有时会返回在屏幕的某些滚动位置少3个像素.

我已经为您设置了一个示例,它或多或少地提出了您的要求,至少应该让您开始:

http://jsfiddle.net/rUSEb/show/light(在你的iphone上测试一下).

  • 似乎不适用于iPhone 6.但是jsfiddle添加的"结果"栏确实对显示/隐藏地址栏做出了反应.因此检测似乎是可能的. (3认同)