Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测IOS上是否已安装PWA_Javascript_Ios_Angular_Safari_Progressive Web Apps - Fatal编程技术网

Javascript 如何检测IOS上是否已安装PWA

Javascript 如何检测IOS上是否已安装PWA,javascript,ios,angular,safari,progressive-web-apps,Javascript,Ios,Angular,Safari,Progressive Web Apps,我有一个角度应用程序,我想向用户显示弹出窗口,他/她可以在主屏幕上添加应用程序 我不希望此通知显示在PWA中,而只显示在IOS Safari中,因此我使用此检查: const isInStandaloneMode = () => ('standalone' in window.navigator) && (window.navigator.standalone); 当用户已经安装了PWA时,我也不想在IOS Safari上显示此弹出窗口,是否有机会检查PWA是否已经安装?

我有一个角度应用程序,我想向用户显示弹出窗口,他/她可以在主屏幕上添加应用程序

我不希望此通知显示在PWA中,而只显示在IOS Safari中,因此我使用此检查:

const isInStandaloneMode = () => ('standalone' in window.navigator) && (window.navigator.standalone);

当用户已经安装了PWA时,我也不想在IOS Safari上显示此弹出窗口,是否有机会检查PWA是否已经安装?

是的,如果用户在IOS上从主屏幕启动PWA,该代码将返回
true

您还可以将代码简化为:

const iOSCanInstall='standalone'在window.navigator中;
const iossinstalled=window.navigator.standalone==true;
这样,您就知道他们是否是可能安装您的PWA的iOS用户,以及他们是否从主屏幕打开了您的PWA


如果用户在浏览器中打开PWA,很遗憾,无法检查它是否已安装。在Chrome/Edge中,您可以使用
getInstalledRelatedApps()
,但遗憾的是,这对您的问题没有帮助。

您可以通过使用
window.matchMedia('(显示模式:独立)')。matches来改进它。