Я пытаюсь добавить приложение на главный экран с помощью кнопки, расположенной на странице "Настройки" моего мобильного веб-приложения HTML5 (Примечание: он работает, если я пытаюсь добавить его через меню Chrome).
Я установил все эти шаги:
В настоящее время я отлаживаю его с помощью инструментов Chrome Dev и слушаю перед тем, как beforeinstallprompt
этот код из официальных документов.
<script>
let deferredPrompt;
window.addEventListener('beforeinstallprompt', function(event) {
// Prevent Chrome 67 and earlier from automatically showing the prompt
e.preventDefault();
// Stash the event so it can be triggered later.
deferredPrompt = e;
});
// Installation must be done by a user gesture! Here, the button click
btnAdd.addEventListener('click', (e) => {
// hide our user interface that shows our A2HS button
btnAdd.style.display = 'none';
// Show the prompt
deferredPrompt.prompt();
// Wait for the user to respond to the prompt
deferredPrompt.userChoice
.then((choiceResult) => {
if (choiceResult.outcome === 'accepted') {
console.log('User accepted the A2HS prompt');
} else {
console.log('User dismissed the A2HS prompt');
}
deferredPrompt = null;
});
});
</script>
Как поймать событие на /home
странице и передать его на страницу /settings
чтобы я мог запустить событие через (onClick)
событие?
В настоящее время я использую:
Угловая CLI: 6.1.4
Узел: 8.11.4
ОС: win32 x64
Сохраните его в глобальном (window
) объекте (или где-то еще с глобальным доступом) и в window
/settings
в вызове обработчика события window.deferredPrompt.prompt()
?