渐进式Web应用程序 - 服务工作者不提供start_URL

Moh*_*rie 20 javascript visual-studio web progressive-web-apps

正在玩渐进的网络应用程序.我试图让网络应用程序安装横幅工作,但我service worker does not successfully serve the manifest's start_url在使用Lighthouse调试后继续收到(下图).目前我正在使用azure托管我的网站.

新: 我检查了所有缓存,start_url,以及我的服务工作者,看看一切都匹配.但它仍然给我同样的错误.

在此输入图像描述

我不确定这是start_url我的service-worker问题还是我的问题.以下是我的代码.

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"
}
Run Code Online (Sandbox Code Playgroud)

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);
    });
}
Run Code Online (Sandbox Code Playgroud)

service-worker.js

 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);
    })
  );
});
Run Code Online (Sandbox Code Playgroud)

我的浏览器缓存:

在此输入图像描述

Tey*_*yam 6

注册A服务人员记录

如果我们报名,在服务人员的文件/example/sw.js,然后服务人员只看到fetch了它的URL开始用网页的事件/example/(即/example/page1//example/page2/)。

内嵌显示的错误并在本文档中提供,请检查以下各项:

  1. start_urlmanifest.json文件中定义一个属性。
  2. 确保您的服务工作者正确缓存与值匹配的资源start_url

另外,请查看本教程,看看是否会对您有所帮助。

  • 我浏览了您所有的链接。检查了我的缓存,做了一些反复试验,但仍然收到相同的错误。我用缓存的屏幕快照更新了问题。 (3认同)
  • 我的子目录中有我的服务人员。造成问题的原因。谢谢 (3认同)