Javascript 如何检测应用程序正在通过主屏幕书签(嵌入式)进行访问?

Javascript 如何检测应用程序正在通过主屏幕书签(嵌入式)进行访问?,javascript,android,ios,google-chrome,progressive-web-apps,Javascript,Android,Ios,Google Chrome,Progressive Web Apps,我正在用expo SDK36编写一个react本机应用程序 当用户访问该网站时,清单将与splash和favicon一起使用,以生成一个漂亮的PWA 如果我使用safari或chrome在主屏幕上添加书签,我的应用程序就可以使用,而无需任何商店安装,也无需浏览器的搜索栏 如何检测应用程序是否在嵌入式webview中运行?您可以使用显示模式检测您的web应用程序是在浏览器中运行还是作为独立应用程序运行 如果要检测显示模式以进行样式设置,请阅读 或者,您可以通过javascript检测显示模式,如下

我正在用expo SDK36编写一个react本机应用程序

当用户访问该网站时,清单将与splash和favicon一起使用,以生成一个漂亮的PWA

如果我使用safari或chrome在主屏幕上添加书签,我的应用程序就可以使用,而无需任何商店安装,也无需浏览器的搜索栏


如何检测应用程序是否在嵌入式webview中运行?

您可以使用显示模式检测您的web应用程序是在浏览器中运行还是作为独立应用程序运行

如果要检测显示模式以进行样式设置,请阅读

或者,您可以通过javascript检测显示模式,如下所示

  if (window.matchMedia('(display-mode: standalone)').matches) {
                 console.log("This is running as standalone.");
     }
另一种简单的方法是,您可以将查询字符串附加到起始url,以检测PWA是否正在运行

  "start_url": "./?mode=standalone"

您在哪里配置
start\u url
我刚刚测试了
window.matchMedia(“(显示模式:独立)”)。匹配
,效果很好。谢谢您好,我很抱歉,但我不得不接受答案,显然,这在iOS iPhone 6 Safari上没有检测到直接从Safari安装的渐进式web应用程序<代码>警报(window.matchMedia(‘(显示模式:独立)’)。匹配)返回false,你知道我如何在iOS中检测到自己是PWA吗?我已经得到了答案,但我想看看是否有人已经做了防弹测试。