我可以检测我的PWA是作为应用程序启动还是作为网站访问?

时间:2018-05-26 13:14:59

标签: javascript progressive-web-apps

如果我有PWA,我可能想让我的用户将其添加到他们的启动器中,但如果它实际上是从启动器启动的话,我不想问这个。

有没有办法从javascript中检测到这个?

2 个答案:

答案 0 :(得分:4)

对于Android,您应该只在提示{_ 1}}事件后提示用户安装。只有在尚未安装PWA时才会触发此事件。

beforeinstallprompt

https://developers.google.com/web/fundamentals/app-install-banners/

对于IOS,您可以查看window.addEventListener('beforeinstallprompt', (e) => { e.preventDefault(); deferredPrompt = e; // Update UI notify the user they can add to home screen btnAdd.style.display = 'block'; }); ,如果已经安装了应用,则应该为真。

window.navigator.standalone

https://www.netguru.co/codestories/few-tips-that-will-make-your-pwa-on-ios-feel-like-native

答案 1 :(得分:1)

换句话说,你不必做任何代码来实现这一点。浏览器触发器安装到主屏幕横幅/相关事件,仅当它在浏览器中使用并且不会从启动器发生时。

您希望做的是Web安装横幅的工作方式的默认行为。