Javascript 如何检测IOS上是否已安装PWA
我有一个角度应用程序,我想向用户显示弹出窗口,他/她可以在主屏幕上添加应用程序 我不希望此通知显示在PWA中,而只显示在IOS Safari中,因此我使用此检查: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是否已经安装?
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来改进它。