小编Önd*_*mer的帖子

即使我有一个 Service Worker 并且我的 PWA 工作正常,也没有检测到匹配的 Service Worker

我一直在开发一个用 HTML、CSS 和 JS 编写的项目,并在屏幕上随机显示不同的视频。我希望它成为一个 PWA,所以它做到了。它工作得很好,但是当我打开 Chrome DevTools 和“应用程序”页面时,在“清单”部分中它会抛出警告:“没有匹配的服务工作线程检测器。您可能需要重新加载页面,或者检查当前页面的 Service Worker 是否也控制清单中的起始 URL。”

\n\n

我对 Service Worker 不太了解,我想知道它为什么有效,但似乎不起作用。另一个问题是我从来没有弹出“添加到主屏幕”。但如果我手动添加它,它就可以正常工作。它也可以离线工作。

\n\n

网站链接: https: //ondersumer07.github.io/vinematik/

\n\n

我的 main.js 中的 Service Worker 代码:

\n\n
window.addEventListener("load", () => {\n  registerSW();\n});\n\nasync function registerSW() {\n  if (\'serviceWorker\' in navigator) {\n    try {\n      await navigator.serviceWorker.register(\'./sw.js\');\n    } catch (e) {\n      console.log(`SW registration failed`);\n    }\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的 sw.js:

\n\n
//CACHING FILES//\nconst filesToCache = [\n  \'./\',\n  \'./offline.html\',\n  \'./css/offline.css\',\n];\n\nconst staticCacheName = \'pages-cache-v2\';\n\nself.addEventListener(\'install\', event => {\n  console.log(\'Attempting to install service worker and …
Run Code Online (Sandbox Code Playgroud)

javascript service worker progressive-web-apps

3
推荐指数
1
解决办法
8052
查看次数