如何在iPhone上隐藏地址栏?

Pet*_*abo 30 html javascript css iphone safari

如何在iPhone上隐藏地址栏?

到目前为止我尝试了两种不同的方法

  • 在页面加载时使用JavaScript向下滚动一个像素技巧

  • 以下元标记:

    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" /><meta name="apple-mobile-web-app-capable" content="yes" />
    
    Run Code Online (Sandbox Code Playgroud)

这个:

<meta names="apple-mobile-web-app-status-bar-style" content="black-translucent" />
Run Code Online (Sandbox Code Playgroud)

我完全糊涂了.

PS:哦,我忘了一个非常重要的事情:网页本身不会溢出浏览器窗口.这可能是1像素滚动技巧不起作用的原因.

我无法做大,因为关于设计的热门话题,每个人都可以滚动,但这个页面折叠... :)

rob*_*rob 64

我自己就是这样打的.如果地址栏没有隐藏,原因可能只是页面不够滚动.

当...的时候

window.scrollTo(0,1)
Run Code Online (Sandbox Code Playgroud)

被称为页面必须比窗口长,因此可以发生滚动事件.

只有当滚动均匀发生时,移动safari才会隐藏地址栏.

  • 仍然无法使其发挥作用.查看端口滚动但地址栏不会隐藏.尝试播放超时,像素滚动但没有任何帮助.还在为iOS11.4工作吗?这是实例,代码在body之前.谢谢你的帮助.https://vesmir.pigy.cz/list.php?p=hraj&t=pexeso (6认同)
  • 这在我当前的Chrome或Safari版本中不起作用。 (4认同)

Nic*_*ver 9

除非在最近的iOS版本中发生了某些变化,否则向下滚动技巧是唯一可靠的工作,我对这个版本没有任何问题:

/mobile/i.test(navigator.userAgent) && !location.hash && setTimeout(function() {
  window.scrollTo(0, 1);
}, 1000);?
Run Code Online (Sandbox Code Playgroud)

我并不关心这个特定页面的任何其他移动平台,它是基于代理重定向...你可能想要改变正则表达式来专门检查iPhone,例如替换/mobile//iPhone/.


mar*_*ada 7

更新: Apple 取消minimal-ui对iOS 8的支持,因此这不再是一个有用的答案:(


对于新的谷歌搜索者:从iOS 7.1开始,有一种minimal-ui适用于移动Safari 的新模式:

最小的UI

通过minimal-ui在视口上设置属性来启用它:

<meta name="viewport" content="minimal-ui">
Run Code Online (Sandbox Code Playgroud)

您还可以将其与其他属性结合使用,如下所示:

<meta name="viewport" content="width=device-width, minimal-ui">
Run Code Online (Sandbox Code Playgroud)

值得注意的是,没有最低内容长度要求,因为有scrollTo黑客攻击.有这种新模式的很好的概述这里.(这就是上面图片的来源.)他还列出了一些缺点.

我能找到的唯一官方文档是Apple的iOS 7.1发行说明中的​​注释:

为视口元标记键添加了一个属性minimal-ui,允许在页面加载时最小化iPhone上的顶部和底部条形.在使用minimal-ui的页面上,点击顶部栏会使栏回来.回击内容会再次驳回它们.

例如,使用<meta name="viewport" content="width=1024, minimal-ui”>.

当然,由于这仅适用于iOS 7.1及更高版本,因此它的用处可能有限.

  • 在您意识到[在iOS 8中已将其删除](http://stackoverflow.com/q/24889100/1676444)之前,这听起来确实不错:(关于链接的问题,[Gajus解释了'minimal-ui` http://stackoverflow.com/a/26884561/1676444),可能会对某些人有所帮助。 (2认同)

Sim*_*ast 5

我认为这个版本实际上更好.它测试用户是否已经开始滚动,这是我在移动项目中注意到的问题.

/Mobile/.test(navigator.userAgent) && !location.hash && setTimeout(function () {
    if (!pageYOffset) window.scrollTo(0, 1);
}, 1000);
Run Code Online (Sandbox Code Playgroud)