#javascript #service-worker #service-worker-events
#javascript #служба-работник #служба-работник-события
Вопрос:
Я пытаюсь заставить мой файл service worker запускать загрузочный режим при нажатии кнопки уведомления, но я изо всех сил пытаюсь заставить его работать. Я понимаю, что работник службы не может получить доступ к DOM, так как я могу вызвать такое событие, например, модальное? Я пытался вызвать функцию из внешнего файла, однако она просто говорит, что она не определена. Я также пытался использовать прослушиватель в моем основном js-файле, но это просто не срабатывает.
this.notificationclick = function(event) {) //doesn't work.
Я знаю, что срабатывает мой сервисный работник, потому что я могу зарегистрировать событие на консоли. Я также знаю, что файл, в котором находится функция, также загружается при запуске другого кода в этом файле.
Это мой код для функции, которую я пытаюсь вызвать:
const showModal = (array) => {
document.getElementById('notificationModalTitle').innerHTML = array[0];
document.getElementById('notificationModalBody').innerHTML = array[1];
const img = array[2];
const icon = array[3];
$('#notificationModal').modal()
}
Это код в моем sw.js
файле, который я пытался использовать для переключения модального режима.
this.addEventListener('notificationclick', function(e) {
//event triggers, but function is undefined.
showModal(["test", "testdesc", "test", "test"])
console.log(e);
});
Заранее спасибо.