Я пытаюсь проверить, соблюдены ли требования Добавить на главный экран , и запустить 2 наложения установки на основе этого. Логика: если выполнено showOverlayMet()
, а если нет showOverlayNotMet()
. Chrome запускает событие BeforeInstallPrompt , когда критерии удовлетворены, поэтому я пытаюсь определить, было ли это событие запущено, и показать подсказку, основываясь на этом, но, к сожалению, оператор всегда показывает, что оно сработало. вот мой текущий код:
if ('beforeinstallprompt' in window) {
var installPromptEvent = void 0;
window.addEventListener('beforeinstallprompt', function (event) {
event.preventDefault();
installPromptEvent = event;
setTimeout(function () {
showOverlayMet();
}, 5000);
var btnAdd = document.getElementById('button-addtohome');
btnAdd.addEventListener('click', function () {
hideOverlayMet();
installPromptEvent.prompt();
installPromptEvent.userChoice.then(function (choice) {
if (choice.outcome === 'accepted') {
// User accepted the A2HS prompt
} else {
showOverlayMet();
}
installPromptEvent = null;
});
});
});
} else {
setTimeout(function() {
showOverlayNotMet();
}, 5000);
}