javascript - 如何隐藏手机浏览器的地址栏?

标签 javascript mobile-browser address-bar

移动设备上的 Safari 和 Chrome 在页面加载时都包含可见的地址栏。当页面的 body 滚动时,这些浏览器会将地址栏滚动到屏幕外,以便为网站提供更多空间,如下图所示:

Note the missing Address bar in the right image

我的网站允许这样做时遇到了一些问题。我正在制作一个神奇宝贝图鉴,其中包含所有神奇宝贝的很长列表。但是,按照我设置页面的方式,它不想将地址栏滚动到视线之外。

Note that by scrolling the address bar is still visible

我的 html 看起来像:

<body>
  <app> <!-- My Angular2 tag for the app, no special styles for this -->
    <nav>...</nav> <!-- The red nav bar and hamburger menu, default bootstrap -->
    <div class="fluid-container">...</div> <!-- The container for all pokemon entries -->
  </app>
</body>

如果我滚动到列表的绝对底部(即 721 个条目),那么任何更多的滚动都会将地址栏移离屏幕顶部。如果我触摸导航栏并将其向上拖动,那么地址栏就会移出屏幕。这两种方法似乎都不直观。

我想有某种方法可以使用 javascript 滚动页面正文来隐藏它,但是 what I've tried so far不起作用。当我这样做时,没有发生可见的滚动。

如何滚动页面以在页面加载后不久隐藏移动浏览器的地址栏?

编辑:我对此研究得越多,就越不可能在没有用户交互的情况下做到这一点。如果我需要用户交互,用户在屏幕中央的触摸是否可以首先尝试滚动正文,然后再尝试滚动包含其中所有条目的 div ?如果这按照我的想法工作,那么它会首先将地址栏滑开,然后再滑动列表。这与默认浏览器行为相反,因此可能不可能/容易/可靠,但我愿意尝试看看是否有人有任何想法。

最佳答案

我知道这已经很旧了,但我必须在这里添加它..

虽然这不是完整的答案,但它是一个“补充”

如果您不使用 https,地址栏不会消失。

还有

如果您使用 https 并且地址栏仍然无法隐藏,则您的网页中可能存在一些 https 错误(例如从非 https 位置提供某些图像。)

希望这有帮助..

关于javascript - 如何隐藏手机浏览器的地址栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37395561/

相关文章:

javascript - 如何在移动设备上独立于 URL 栏的当前隐藏/显示状态获取视口(viewport)高度?

javascript - cloudinary javascript图像上传一个空白文件

javascript - 错误提示函数未定义

javascript - 在网络上检测移动浏览器?

google-chrome - 为什么 google chrome 的地址栏中不显示 favicon 文件?

javascript - 如何删除 URL 中的参数并将其显示在地址栏中而不会导致 Javascript 中的重定向?

javascript - 这个功能在不设置参数的情况下如何工作?

javascript - 字符串格式的 vis.js 轴值标签

javascript - HTML5 是否可以在所有移动浏览器中完全发挥作用?

javascript - Touchend 在 Android 4.x 上的 touchmove 后不触发?