PWA: я должен обновить sh после входа в систему, чтобы обновить панель навигации - PullRequest
0 голосов
/ 17 марта 2020

Я новичок в PWA. Я слышал хорошие вещи о PWA. Поэтому я попытался дать ему шанс. У меня есть приложение, встроенное в торт php 2. Я внедряю приложение PWA в приложение. Я был впечатлен скоростью и ощущением приложения. Но застрял в вопросе, например, когда я вхожу в приложение, затем его логин (я могу go на панель инструментов), но панель навигации не обновляется после входа в систему. Это означает, что после входа в систему будет отображаться ссылка для входа и входа в систему.

До и после входа одинаковая панель навигации. У меня есть сила refre sh страницы (CTRL + F5), чтобы обновить панель навигации. enter image description here

Вот мой код.

if('serviceWorker' in navigator) {
  window.addEventListener('load', function() {
    navigator.serviceWorker.register('/sw.js').then(function(registration) {
      // Registration was successful
       registration.update();
      for (let reg of registration) {
          reg.update();
      }
      console.log('ServiceWorker registration successful with scope: ', registration.scope);
    }, function(err) {
      // registration failed :(
      console.log('ServiceWorker registration failed: ', err);
    });
  });
}

В моем файле sw. js, события Install и Fetch. В соответствии с моим кодом я кеширую только CSS, JS и изображения.

self.addEventListener('install', function(e) {
    e.waitUntil(
        caches.open('sl-store').then(function(cache) {
            return cache.addAll([
                '/frontend/css',
                '/css/',
                '/js/',
                '/fonts/',
                '/img/',
                '/font-awesome-4.1.0/',
            ]);
        })
    );
});

self.addEventListener('fetch', function(e) {
    console.log(e.request.url);
    e.respondWith(
        caches.match(e.request).then(function(response) {
        //return response || fetch(e.request);
            return fetch(e.request) || response;
        })
    );
});

Что я здесь не так делаю. Пожалуйста, предложите.

...