我有 PWA angular 应用程序,我想向用户显示他/她可以在主屏幕上添加应用程序的弹出窗口。
我不希望此通知显示在 PWA 中,而只显示在 IOS Safari 中,因此我使用此检查:
const isInStandaloneMode = () => ('standalone' in window.navigator) && (window.navigator.standalone);
我也不想在用户已安装 PWA 时在 IOS Safari 上显示此弹出窗口,是否有机会检查是否已安装 PWA?
最佳答案
是的,如果用户从 iOS 的主屏幕启动您的 PWA,该代码将返回 true
。
您还可以将代码简化为:
const iOSCanInstall = 'standalone' in window.navigator;
const iOSIsInstalled = window.navigator.standalone === true;
这样,您就可以知道他们是否是可能安装您的 PWA 的 iOS 用户,以及他们是否从主屏幕打开了您的 PWA。
如果用户在浏览器中打开您的 PWA,很遗憾,无法检查它是否已安装。在 Chrome/Edge 中,您可以使用 getInstalledRelatedApps()
,但很遗憾,这对您的问题没有帮助。
关于javascript - 如何检测IOS是否已经安装PWA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66009755/