javascript - 在 ios 6 上隐藏 safari 的地址栏

标签 javascript safari ios6 hide address-bar

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

window.scrollTo(0,1);

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

谢谢。

最佳答案

在尝试了脚本之后,我注意到以下内容: 每当我重新加载页面时,地址栏就会隐藏。 因此,作为解决此问题的方法,我触发重新加载事件(通过调整大小函数)并在调整大小函数中执行 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 事件上调用此函数。这适用于 ios 5,但不适用于 ios6。我意识到在我的脚本中渲染页面后调用了一个调整大小函数。所以我在调整大小结束时调用了 hideaddressbar 函数。因此,您可能需要检查脚本,在渲染页面后是否再次调整大小或重新加载?如果是这样,则在完成重新加载后调用 hideAddressBar。我希望这能解决您的问题。

关于javascript - 在 ios 6 上隐藏 safari 的地址栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13149371/

相关文章:

ios - UIButton的点击区域太大

javascript - 将焦点移至 Enter 键上的下一个控件

javascript - 图表不遵守宽度和高度属性

javascript - 在angularjs中对数组进行排序

javascript - 如何使用带有文本框的模板,其中加载了从 ember.js 中的调用模板传递的数据

javascript - document.referrer 在 safari 中不起作用?

javascript - 通过 jQuery 调整字体大小在 Chrome 和 Safari 浏览器上不起作用

ios - safari/ios 是否支持 http 直播流的自动播放?

iOS6启用微博

ios进度条高度在ios 7和ios 6之间不同