我正在尝试以面向 future 且与设备无关的方式检测 iPhone 浏览器中的地址栏何时显示。这是显示在顶部以显示 URL 的工具栏。它可以通过调用隐藏:
window.scrollTo(0, 0)
我想做的是检测它何时显示(从而减少可用的查看空间)并设置一个计时器以在一秒钟左右后再次隐藏它。任何比这更频繁的情况都会很烦人,因为用户将无法访问地址栏。
我试过检查 window.pageYOffset
,不幸的是,如果 url 栏的任何部分可见,这将返回零。
我不想在 iPhone 上硬编码任何尺寸并根据当前视口(viewport)尺寸检查这些尺寸。它太脆弱了。
有人知道这里的解决方案吗?
最佳答案
window.innerHeight 属性正是您要找的。这是屏幕上实际内容的高度。当顶部的工具栏可见时,它会明显减少,因为内容的空间较小。在我的 iPhone 4 上有一个我似乎无法弄清楚的小问题 - window.innerHeight 有时会在屏幕的某些滚动位置返回 3 个像素。
我已经为您设置了一个示例,它或多或少地完成了您的要求,它至少应该让您入门:
http://jsfiddle.net/rUSEb/show/light (在您的 iPhone 上进行测试)。
关于javascript - 检测地址栏是否显示在 iPhone 浏览器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3524216/