隐藏地址ios 6上的野生动物园

时间:2012-10-31 00:04:03

标签: javascript safari ios6 hide address-bar

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

window.scrollTo(0,1);

和meta标签 。 但对于IOS 6来说,这些似乎不起作用。我在stackoverflow中检查了其他类似的问题,但找不到有效的解决方案。有没有人遇到过类似的问题?如果是,除了将网站作为Web应用程序添加到主屏幕然后从那里启动之外,是否有任何其他解决方案。

谢谢。

1 个答案:

答案 0 :(得分:1)

在玩完脚本后,我注意到以下内容: 每当我重新加载页面时,地址栏都会隐藏。 因此,作为此问题的解决方法,我触发重载事件(通过调整大小函数)并在调整大小函数中执行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。我意识到在我的脚本中有一个在渲染页面后调用的resize函数。所以我在调整大小结束时调用了hideaddressbar函数。因此,在呈现页面后,您是否要重新调整大小或重新加载?如果是,则在重新加载完成后调用hideAddressBar。我希望这能解决你的问题。