在 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 的地址栏的主要内容,如果未能解决你的问题,请参考以下文章
html iOS 7.1的Safari为元标签新增minimal-ui属性,在网页加载时隐藏地址栏与导航栏,http://www.36kr.com/p/210516.html