Прогрессивное веб-приложение не может быть установлено в Chrome - PullRequest
2 голосов
/ 09 мая 2019

Я строю конвертер единиц измерения в html и javascript.Моя последняя проблема - сделать приложение доступным для установки.Но кнопка в хроме не появляется.Но Service Worker работает, как я вижу, в инструментах chrom dev.Я использую Ubuntu 18.04, VS Code Extension Live Server и современный браузер Chrome.Я также попробовал Firefox и мой смартфон.Оба тоже не работают.

Вот мой serviceworker.js:

const cacheName = 'Einheitenrechner';
const staticAssets = [
    '/',
    '/index.html',
    '/scripts/app.js',
    '/style/app.css',
    '/manifest.json'
];

self.addEventListener('install',function(event){
    event.waitUntil(
    caches.open(cacheName)
      .then(function(cache) {
        console.log('Opened cache');
        return cache.addAll(staticAssets);
      })
  );
});

self.addEventListener('activate',function(event){
    event.waitUntil(
        caches.keys().then((keyList) => {
          return Promise.all(keyList.map((key) => {
            if (key !== cacheName) {
              console.log('[ServiceWorker] Removing old cache', key);
              return caches.delete(key);
            }
          }));
        })
    );;
    self.clients.claim();
});



self.addEventListener('fetch', async e =>{
    // CODELAB: Add fetch event handler here.
    if (evt.request.mode !== 'navigate') {
    // Not a page navigation, bail.
        return;
    }
    evt.respondWith(
      fetch(evt.request)
          .catch(() => {
            return caches.open(cacheName)
                .then((cache) => {
                  return cache.match('index.html');
                });
          })
  );
});

Мой регистр-sw.js:

if ('serviceWorker' in navigator) {
    window.addEventListener('load', () => {
      navigator.serviceWorker.register('scripts/serviceworker.js')
          .then((reg) => {
            console.log('Service worker registered.', reg);
          });
    });
  }

1 Ответ

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

Здесь недостаточно информации для правильного ответа. Я предлагаю вам использовать инструменты Chrome, чтобы проверить это. В «Аудитах» есть проверка Progressive Web App (также известная как Lighthouse ). Если вы запустите это, он должен сообщить вам, есть ли какие-либо проблемы с вашим приложением. Если вы сможете отредактировать свой вопрос с результатами, один из нас сможет предоставить лучший ответ.

...