是否可以在Chrome for Android中以编程方式显示网址栏?

时间:2014-06-29 21:45:22

标签: javascript android google-chrome mobile-chrome

默认情况下,只有在按下设备的菜单按钮和向下滑动页面时才显示(当触摸标记为红色时,请参阅下面的GIF)。可以使用JavaScript显示网址栏吗?

GIF showing hiding/showing URL bar in Chrome for Android

2 个答案:

答案 0 :(得分:2)

解决方案

由于Full Screen API的限制,只能用户输入See the demo.

var p;

function showURLBar() {
    p = [window.pageXOffset, window.pageYOffset];
    document.documentElement.webkitRequestFullscreen();
    setTimeout(function () {
        document.webkitExitFullscreen();
        setTimeout(function () {
            scrollTo(p[0], p[1]);
        }, 300);
    }, 300);
}

重要说明

  • 此功能仅在 Chrome 35.0 .1916.141, Samsung Galaxy S4 上运行,运行Android 4.4.2。
  • 在其他设备上,可能需要增加超时
  • 要避免在其他浏览器中出现错误,请使用a cross-browser implementation of the Full Screen API functions代替webkit。
  • 这是一种黑客行为,因此在未来的Chrome版本中可能会变得无效
  • 因为超时600毫秒可以看到一些延迟,但如果没有它,功能就会失效。
  • 我检查了一些其他方法但没有成功。使用window.location更改整个网址会使地址栏重新出现,但是留下/重新加载页面是一种不良副作用。即使修改了网址,仅更改window.location.hash或使用window.history也无济于事。 window.scrollBywindow.scrollTowindow.scrollTop无帮助。

答案 1 :(得分:0)

通过使用“设备”这个词,我猜你的意思是移动设备。我也与此斗争,只是从设备桌面使用了页面的快捷方式。然后你会在没有地址栏的情况下全屏显示。