【问题标题】:hide mobile browser address bar on chrome (android)在 chrome (android) 上隐藏移动浏览器地址栏
【发布时间】:2013-07-21 10:21:43
【问题描述】:

我们有一个网站,使用简单的 JavaScript

<body onLoad="setTimeout(function() {window.scrollTo(0, 1)}, 100);">

我们在大多数浏览器(safari 和原生 android 浏览器)上隐藏了地址栏,这行 JavaScript 对大多数人来说都可以正常工作,但我们注意到 chrome 上有一个奇怪的行为,页面确实向下滚动,但地址栏没有不要隐藏!页面加载完成后,如果用户用手指向下滚动一点,地址栏会正常隐藏。

我也试过用JS向下滚动所有页面,页面完全滚动的结果,地址栏仍然可见...

有人知道我是否忘记使用某些技巧,或者 Chrome 中根本不存在此功能吗?

【问题讨论】:

  • 您的应用程序中是否有 webview 并且要隐藏地址栏?
  • 不,我有一个网站的移动版本,(以前类似于 web 应用程序),我想隐藏设备浏览器的地址栏,这适用于默认浏览器 nd 对于某些其他的,比如 doplhin、safari 等等,但是对于 chrome,这个 hack 不起作用。

标签: android google-chrome browser hide address-bar


【解决方案1】:

scrollTo(0,1) 在 Chrome for Android 中尚不支持(它是最近添加的,然后被删除)。我们确实有 FullScreen API,但对于您想要实现的目标来说,这有点笨拙。

【讨论】:

  • scrollTo() 在 Chrome for Android 中得到完全支持,但它并没有像你想象的那样做。
【解决方案2】:

Chrome Mobile 的最新更新(7 月 22 日)似乎破坏了工具栏自动隐藏功能。向下滚动页面时,工具栏不再自动隐藏。我的 Nexus 4 就是这种情况。

7 月 22 日更新为平板电脑带来全屏模式。但我猜他们不小心破坏了智能手机的功能。全屏模式以前可以在智能手机上使用。

Chrome Browser Play Store

【讨论】:

    【解决方案3】:

    我找到了第一次点击后如何隐藏地址栏的方法

    if (document.body.webkitRequestFullScreen) {
      window.addEventListener('click', function(e) {
        if (e.target.type != 'text' && e.target.type != 'password') {
          body.webkitRequestFullScreen();
          window.setTimeout(function() {
            document.webkitCancelFullScreen();
          }, 500);
        }
      }, false);
    }
    

    【讨论】:

    猜你喜欢
    • 2020-01-21
    • 1970-01-01
    • 2016-10-28
    • 2013-08-06
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多