如何检测Web应用程序是否在Chrome手机上独立运行?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (54)

ChromeMobile最近增加了添加到主屏幕的功能,类似于iOS。它不像iOS那样支持它--它不支持window.navigator.standalone因此,无法检测是否作为一个独立的应用程序运行。

提问于
用户回答回答于

最近,Google实现了css条件。display-mode: standalone因此,有两种可能的方法来检测应用程序是否独立运行:

使用CSS:

@media all and (display-mode: standalone) {
    /* Here goes the CSS rules that will only apply if app is running standalone */
}

同时使用CSS和Javascript:

function isRunningStandalone() {
    return (window.matchMedia('(display-mode: standalone)').matches);
}
...
if (isRunningStandalone()) {
    /* This code will be executed if app is running standalone */
}
用户回答回答于

对于iOS系统window.navigator.standalone要检查的属性。

但是对于Android上的Chrome来说,它不支持这个特性。检查这一点的唯一方法是通过计算屏幕的宽度和高度。

下面是检查以下代码的代码:

navigator.standalone = navigator.standalone || (screen.height-document.documentElement.clientHeight<40)

所属标签

可能回答问题的人

  • 人生的旅途

    10 粉丝484 提问6 回答
  • 无聊至极

    4 粉丝504 提问6 回答
  • 骑牛看晨曦

    5 粉丝522 提问5 回答
  • 富有想象力的人

    4 粉丝0 提问4 回答

扫码关注云+社区

领取腾讯云代金券