Как я могу вызвать функцию javascript, написанную в моем основном файле javascript из моего файла javascript, работающего на сервизе - PullRequest
0 голосов
/ 23 мая 2019

У меня есть файл serviceworker.js, который регистрируется после загрузки страницы. Но я не могу получить доступ к функции в моем файле main.js из этого файла service worker.js.

Я пытался использовать document.write для записи сценария main.js в мой файл serviceworker.js, даже пытался импортировать сценарий с помощью importScripts (), $. GetScripts, jQuery.getScript, но все они отвечают с ошибкой документа , $, jQuery не определены соответственно. Функция importScripts () выдает ошибку WorkerGlobalScope и сообщает «не удалось импортировать скрипт».

self.addEventListener('sync', event => {
  if(event.tag == 'save-status') {
    event.waitUntil(
      worker.fetch_item_Outbox('syncOrderStatus')
        .then(async data => {await pos.updateOrderStatus(data);
        return worker.clear_item_outbox(data,'syncOrderStatus');
      }))
  }
})

// функция, которую я хочу вызвать, является функцией updateOrderStatus () внутри объекта pos другого файла js

Я хочу получить доступ к функции updateOrderStatus () внутри объекта pos другого файла js

1 Ответ

0 голосов
/ 24 мая 2019

ServiceWorkers обязательно ограничены в функциональности, которая появляется.Например, вы не можете изменить DOM и jQuery us.

Вы можете использовать postMessage () в ServiceWorker для запуска события и связи с основным потоком пользовательского интерфейса.

...