Как удалить работника службы?


после удаления /serviceworker.js из моего корневого каталога Chrome по-прежнему запускает Service worker, который я удалил из своего webroot. Как удалить service worker с моего сайта и Chrome, чтобы я мог вернуться на свой сайт?

я отследил проблему до механизма кэша Service Work, и я просто хочу удалить ее, пока у меня не будет времени для ее отладки. Сценарий входа, который я использую, перенаправляет на серверы Google, чтобы они могли войти в свою учетную запись Google. Но все, что я получаю от вход.php страница-это ERR_FAILED сообщение.

5 77

5 ответов:

вы можете удалить работников службы программно следующим образом:

navigator.serviceWorker.getRegistrations().then(function(registrations) {
 for(let registration of registrations) {
  registration.unregister()
} })

документы: getRegistrations,отменить

вы также можете удалить работников службы на вкладке Приложения В Chrome Devtools.

вы также можете перейти по URL: chrome: / / serviceworker-internals/ и отменить регистрацию serviceworker оттуда.

в Google Chrome, вы можете перейти к Developer tools (F12) -> Application -> Service worker и отменить работники службы из списка для этого конкретного домена.

Screenshot

этот метод эффективен в режиме разработки сайта и в основном они работают на localhost что вам может понадобиться для развития другого проекта.

вы можете сделать это через Chrome Developer Tool а также программно.

  1. найти все запущенные экземпляр или Service worker, введя

    chrome: / / serviceworker-internals/

    в новой вкладке, а затем выберите serviceworker вы хотите отменить регистрацию.

  2. откройте инструменты разработчика (F12) и выберите приложение. Тогда Либо

    выберите Очистить хранилище - > отменить регистрацию работника службы

    или

    выберите сервисные работники - > выберите Обновить при перезагрузке

  3. программно

if(window.navigator && navigator.serviceWorker) {
  navigator.serviceWorker.getRegistrations()
  .then(function(registrations) {
    for(let registration of registrations) {
      registration.unregister();
    }
  });
}

вы должны обнаружить два API в ваших устройствах: getRegistrations и getRegistration. Service-worker не имеет уникального набора API на всех платформах. Например, некоторые браузеры имеют только navigator.serviceWorker.getRegistration, нет navigator.serviceWorker.getRegistrations. Так что вы должны рассмотреть с обеих.