我正在尝试隐藏网页的地址栏。在 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/