Переключение модального режима при нажатии уведомления

#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);
});
 

Заранее спасибо.