在 Safari 中检测独立模式 iOS

Detect standalone mode in Safari iOS

我的目标是向我们的网站添加 A2HS(添加到主屏幕)横幅,但如果用户活跃在 PWA 中,不会 显示它。我在 Internet 上看到很多人都在谈论 window.navigator.standalone,但它对我来说根本不起作用。我已将其添加到我的 if 声明中:

if( isIos() && window.navigator.standalone ){
  //don't show Add To Home Screen banner
} else {
  //show Add To Home Screen banner
}

这不起作用是有道理的,因为当我在 Chrome 的控制台中键入 window.navigator.standalone 时,它说它是 undefined,因为它根本不存在。也就是说,有没有人有关于如何检测用户是否在移动 Safari 上处于独立模式的解决方案?提前致谢!

在 iPhone XS 运行 iOS 13.3.1 上测试后,standalone 似乎在两个地方可用:

window.navigator.standalone
window.clientInformation.standalone

我现在刚刚在 iPhone 上检查了一个名为 'airhorner' 的 PWA,两个独立程序都设置为 true

以下是 WebInspector 在独立模式下为 'airhorner' PWA 显示的内容:

这是 webInspector 为 iOS Safari 显示的内容 google.com: