2017-10-13 1 views
3

War mit der progressiven Web App herumspielen. Ich habe versucht, Web-App installieren Banner arbeiten, aber ich bekomme weiter service worker does not successfully serve the manifest's start_url nach dem Debuggen mit Lighthouse (Bild unten). Zur Zeit hosste ich meine Website mit Azure.Progressive Web App - Service Worker nicht servieren start_URL

NEU: Ich überprüfte alle meine Cache, start_url, und auch meine Service-Arbeiter, um alles zu sehen übereinstimmen. Aber es gibt mir immer noch den gleichen Fehler.

enter image description here

Ich bin mir nicht sicher, ob es mein start_url oder mein service-worker Problem. Unten ist mein Code.

manifest.json

{ 
    "short_name": "MY EXPERTS", 
    "name": "MYEXPERT", 
    "icons": [ 
    { 
     "src": "Images/petronas_logo_192.png", 
     "type": "image/png", 
     "sizes": "192x192" 
    }, 
    { 
     "src": "Images/petronas_logo_192.png", 
     "type": "image/png", 
     "sizes": "512x512" 
    } 
], 

"background_color": "#FFFFFF", 
"theme_color": "#67BCFF", 
"display": "standalone", 
"start_url": "/Home/Index" 
} 

AddServiceWorker.js

if ('serviceWorker' in navigator) { 
navigator.serviceWorker.register('/service-worker.js'). 
    then(function (registration) { 
     // Registration was successful`` 
     console.log('ServiceWorker registration successful with scope: ', 
registration.scope); 
    }).catch(function (err) { 
     // registration failed :(
     console.log('ServiceWorker registration failed: ', err); 
    }); 
} 

service-worker.json

self.addEventListener('install', e => { 
e.waitUntil(
    caches.open('airhorner').then(cache => { 
     return cache.addAll([ 
      '/', 
      '/?utm_source=homescreen', 
      '/Home/About', 
      '/Home/Index', 
      '/Home/Contact' 
     ]) 
      .then(() => self.skipWaiting()); 
    }) 
) 
}); 

self.addEventListener('activate', event => { 
event.waitUntil(self.clients.claim()); 
}); 

self.addEventListener('fetch', event => { 
    event.respondWith(
    caches.match(event.request).then(response => { 
     return response || fetch(event.request); 
    }) 
); 
}); 

Mein Browser-Cache:

enter image description here

Antwort

1

von Register A service worker Noted,

Wenn wir die Servicemitarbeiter Datei auf /example/sw.js registrieren, dann wird der Servicemitarbeiter nur sehen würde fetch Ereignisse für Seiten, deren URL beginnt mit /example/ (d /example/page1/, /example/page2/).

Inline mit dem gezeigten Fehler und in diesem documentation gegeben, prüfen Sie folgendes:

  1. eine in Ihrer manifest.json Datei start_url Eigenschaft definieren.
  2. Stellen Sie sicher, dass Ihr Service-Mitarbeiter eine Ressource, die dem Wert start_url entspricht, ordnungsgemäß zwischenspeichert.

Überprüfen Sie auch diese tutorial und sehen, ob es Ihnen helfen.

+0

Ich ging durch alle Ihre Links. Habe meinen Cache überprüft, habe ein bisschen probiert, aber ich habe immer noch den gleichen Fehler erhalten. Ich habe meine Frage mit einem Screenshot meines Cache aktualisiert. –

Verwandte Themen