在 iOS 6 上隐藏 Safari 的地址栏

Posted

技术标签:

【中文标题】在 iOS 6 上隐藏 Safari 的地址栏【英文标题】:Hide address Bar for safari on ios 6 【发布时间】:2012-10-31 00:04:03 【问题描述】:

我正在尝试隐藏网页的地址栏。在 Iphone 4 及更低版本上使用

window.scrollTo(0,1);

和元标记 . 但是对于 ios 6,这些似乎不起作用。我在 *** 中检查了其他类似的问题,但找不到有效的解决方案。有没有人遇到过类似的问题?如果是,除了将站点作为 Web 应用程序添加到主屏幕然后从那里启动之外,还有其他解决方案吗?

谢谢。

【问题讨论】:

【参考方案1】:

在玩弄了这个脚本之后,我注意到了以下几点: 每当我重新加载页面时,地址栏都会隐藏。 因此,作为解决此问题的方法,我触发了 reload 事件(通过 resize 函数)并在 resize 函数中执行 window.scroll(0,1)。

我有一个功能

var hideAddressBar = function() 
   if(document.documentElement.scrollHeight<window.outerHeight/window.devicePixelRatio)
   document.documentElement.style.height=(window.outerHeight/window.devicePixelRatio)+'px';
   setTimeout(function() 
       window.scrollTo(1,1)
   , 0);

   if(navigator.userAgent.match(/android|iPhone/gi))
      window.scrollTo(0,1);
   

我最初只在 Onload 事件上调用此函数。 Tis 适用于 ios 5,但不适用于 ios6。我意识到在我的脚本中,在渲染页面后调用了一个调整大小的函数。所以我在调整大小结束时调用了 hideaddressbar 函数。因此,如果在呈现页面后您是否要重新调整大小或重新加载,您可能需要检查您的脚本?如果是这样,则在重新加载完成后调用 hideAddressBar。我希望这能解决您的问题。

【讨论】:

setTimeout(window.scrollTo(1,1),0) 立即调用scrollTo 然后调度一个未定义的函数。

以上是关于在 iOS 6 上隐藏 Safari 的地址栏的主要内容,如果未能解决你的问题,请参考以下文章

ios7 safari的地址栏用jquery怎么隐藏?

html iOS 7.1的Safari为元标签新增minimal-ui属性,在网页加载时隐藏地址栏与导航栏,http://www.36kr.com/p/210516.html

在 chrome (android) 上隐藏移动浏览器地址栏

如何在 iOS 上隐藏地址栏? [复制]

在移动浏览器上隐藏地址/导航栏而不需要滚动内容?

iOS mobile safari - 底部栏覆盖了我的页脚