Я столкнулся с той же проблемой.Вот что я сделал, чтобы заставить PWA выполнить javascript при запуске:
- Зарегистрировать событие видимости страницы в вашем javascript, который встроен между тегами.
- В обработчике события события видимости страницы выполните javascript, который вы хотите выполнить при последующем открытии PWA.
Каждый раз, когда PWA открывается, он вызывает событие видимости страницы и выполняетваш скрипт.
Пример: в вашем HTML-файле:
<script>
registerPageVisibility()
</script>
function registerPageVisibility() {
let hidden;
let visibilityChange;
if (typeof document.hidden !== 'undefined') { // Opera 12.10 and Firefox 18 and later support
hidden = 'hidden';
visibilityChange = 'visibilitychange';
} else if (typeof document.msHidden !== 'undefined') {
hidden = 'msHidden';
visibilityChange = 'msvisibilitychange';
} else if (typeof document.webkitHidden !== 'undefined') {
hidden = 'webkitHidden';
visibilityChange = 'webkitvisibilitychange';
}
window.document.addEventListener(visibilityChange, () => {
if (!document[hidden]) {
//put your script here and it will be execute everytime when PWA is opened.
}
});
}