Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测iPhone浏览器中是否显示地址栏_Javascript_Iphone - Fatal编程技术网

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

Javascript 检测iPhone浏览器中是否显示地址栏,javascript,iphone,Javascript,Iphone,我正试图以一种面向未来且与设备无关的方式,检测iPhone浏览器中的地址栏何时显示。这是显示在顶部的工具栏,用于显示URL。可以通过调用以下命令来隐藏它: window.scrollTo(0, 0) 我想做的是,检测它何时被显示(从而减少可用的观看空间),并设置一个计时器,在大约一秒钟后再次隐藏它。如果比这更频繁的话,这将是非常烦人的,因为用户将无法访问地址栏 我试过检查window.pageYOffset,不幸的是,如果url栏的任何部分可见,则返回零 我不想在iPhone上硬编码任何尺寸,

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

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

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

我不想在iPhone上硬编码任何尺寸,并对照当前视口大小检查这些尺寸。它太易碎了

有人知道这里的解决方案吗?

您正在查找window.innerHeight属性。这是屏幕上实际内容的高度。当顶部的工具栏可见时,会明显减少,因为内容的空间更小。在我的iPhone4-window上有一个我似乎无法解决的小问题。innerHeight有时会在屏幕的某些滚动位置返回3个像素

我已经为您树立了一个或多或少满足您要求的示例,它至少应该让您开始:


(在你的iphone上测试)。

我不清楚这个问题。在页面加载时检测,或在setInterval和X之后检查隐藏时间量,但如果用户选择,是否给用户足够的时间输入新URL?请详细说明。似乎不适用于iPhone 6。然而,JSFIDLE添加的“结果”栏确实会对显示/隐藏地址栏做出反应。因此,检测似乎是可能的。“结果”栏使用
位置:固定
所以我不认为这实际上是直接检测地址栏的存在。innerHeight/Width也会受到缩放的影响,因此可能会得到不可预测的结果。