Следующий код исправил эту проблему.Сначала у меня есть кнопка с id="downloadli"
и по умолчанию она скрыта или style="display:none"
Так как вам нужно добавить прослушиватель к beforeinstallprompt
, чтобы запустить установку, если вы отбросили это действие, чтобы отобразитькнопка загрузки будет работать только тогда, когда возможна установка.
window.addEventListener('beforeinstallprompt', (e) => {
// Prevent Chrome 67 and earlier from automatically showing the prompt
e.preventDefault();
// Stash the event so it can be triggered later.
deferredPrompt = e;
$('#downloadli').css('display', 'block');
});
Таким образом, если приложение уже установлено, beforeinstallprompt
не добавляется на страницу и внутренняя часть этого блока не запускается.