我刚刚进行了更改,以使Chrome将我的Web应用程序识别为渐进式Web应用程序。我遵循了Chrome开发者网站上的官方教程:
https://developers.google.com/web/fundamentals/app-install-banners/?hl=es
所以我有
var deferredPrompt;
window.addEventListener('beforeinstallprompt', function(e) {
// Prevent Chrome 67 and earlier from automatically showing the prompt
if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera
Mini/i.test(navigator.userAgent)) {
e.preventDefault();
$("#modalInstallPWA").modal('show');
} // Stash the event so it can be triggered later.
deferredPrompt = e;
}); // Installation must be done by a user gesture! Here, the button click
$("#btn-install-pwa").on('click', function() {
// Show the prompt
deferredPrompt.prompt(); // Wait for the user to respond to the prompt
deferredPrompt.userChoice.then(function(choiceResult) {
console.log(choiceResult.outcome);
if (choiceResult.outcome === 'accepted') {
console.log('User accepted the A2HS prompt');
} else {
console.log('User dismissed the A2HS prompt');
}
deferredPrompt = null;
});
});
因此,我想记住用户的决定,以使Chrome浏览器不会一再要求用户安装PWA。当用户决定安装PWA时,此方法效果很好,但在用户决定不安装PWA时,效果不佳。
我曾想通过使用cookie来做到这一点,但我想知道是否可能有内置功能或更简单的方法来实现这一目标。