Javascript 检测iPhone浏览器中是否显示地址栏
我正试图以一种面向未来且与设备无关的方式,检测iPhone浏览器中的地址栏何时显示。这是显示在顶部的工具栏,用于显示URL。可以通过调用以下命令来隐藏它:Javascript 检测iPhone浏览器中是否显示地址栏,javascript,iphone,Javascript,Iphone,我正试图以一种面向未来且与设备无关的方式,检测iPhone浏览器中的地址栏何时显示。这是显示在顶部的工具栏,用于显示URL。可以通过调用以下命令来隐藏它: window.scrollTo(0, 0) 我想做的是,检测它何时被显示(从而减少可用的观看空间),并设置一个计时器,在大约一秒钟后再次隐藏它。如果比这更频繁的话,这将是非常烦人的,因为用户将无法访问地址栏 我试过检查window.pageYOffset,不幸的是,如果url栏的任何部分可见,则返回零 我不想在iPhone上硬编码任何尺寸,
window.scrollTo(0, 0)
我想做的是,检测它何时被显示(从而减少可用的观看空间),并设置一个计时器,在大约一秒钟后再次隐藏它。如果比这更频繁的话,这将是非常烦人的,因为用户将无法访问地址栏
我试过检查window.pageYOffset
,不幸的是,如果url栏的任何部分可见,则返回零
我不想在iPhone上硬编码任何尺寸,并对照当前视口大小检查这些尺寸。它太易碎了
有人知道这里的解决方案吗?您正在查找window.innerHeight属性。这是屏幕上实际内容的高度。当顶部的工具栏可见时,会明显减少,因为内容的空间更小。在我的iPhone4-window上有一个我似乎无法解决的小问题。innerHeight有时会在屏幕的某些滚动位置返回3个像素
我已经为您树立了一个或多或少满足您要求的示例,它至少应该让您开始:
(在你的iphone上测试)。我不清楚这个问题。在页面加载时检测,或在setInterval和X之后检查隐藏时间量,但如果用户选择,是否给用户足够的时间输入新URL?请详细说明。似乎不适用于iPhone 6。然而,JSFIDLE添加的“结果”栏确实会对显示/隐藏地址栏做出反应。因此,检测似乎是可能的。“结果”栏使用
位置:固定
所以我不认为这实际上是直接检测地址栏的存在。innerHeight/Width也会受到缩放的影响,因此可能会得到不可预测的结果。