检测Chrome for iOS地址栏何时显示

Meh*_*hdi 9 javascript css google-chrome web-applications ios

apple-mobile-web-app-capable在我的网络应用程序的主题部分设置为true.一切顺利,Chrome会尽可能隐藏地址栏,以便为网络应用提供更多空间.

问题是我的应用程序的导航位于顶部并在此期间位于地址栏后面.我想知道是否有一种方法可以检测地址栏何时显示并将导航放在地址栏下方.

如果我删除了apple-mobile-web-app-capable元标记,地址栏显示,但导航仍然在它后面.出于某种原因,Chrome会将窗口大小设置为屏幕大小,但会在其顶部拉出地址栏.

有人知道任何解决方案吗?

zak*_*ssi 4

实际上有一个解决方法可以解决这个问题;你只需要强制你的应用程序向下滚动 1px(足以隐藏 Chrome 地址栏):

setTimeout(function() {
  // Already scrolled?
  if(window.pageYOffset !== 0) return;

  window.scrollTo(0, window.pageYOffset + 1);
}, 1);
Run Code Online (Sandbox Code Playgroud)