1

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

window.scrollTo(0,1);

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

谢谢你。

4

1 回答 1

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。我希望这能解决你的问题。

于 2012-11-01T22:24:55.187 回答