29得票3回答
只在离线时使用ServiceWorker缓存

我正在尝试将服务工作者集成到我的应用程序中,但我发现即使在在线状态下,服务工作者也会尝试检索缓存的内容,但我希望在这些情况下它优先使用网络。我该怎么做?以下是我现在拥有的代码,但我不认为它正在起作用。为了简洁起见,SW安装代码被省略。var CACHE_NAME = 'my-cache-v1'...

29得票6回答
渐进式Web应用程序 Uncaught (in promise) TypeError: Failed to fetch。

我开始学习PWA(渐进式Web应用程序),但我遇到了问题,控制台会“抛出”错误,提示“未捕获的(在Promise中)TypeError:获取失败。” 有人知道可能是什么原因吗?let CACHE = 'cache'; self.addEventListener('install', fun...

29得票3回答
防止 Service Worker 自动停止

Service Worker似乎在某些时候会自动停止。这种行为无意中关闭了在激活时建立的WebSocket连接。 何时和为什么会停止?如何通过编程来禁用这个意外的操作,以使Service Worker保持运行状态?

28得票5回答
我该如何使用service worker缓存外部URL?

我一直在使用Google Web Starter Kit (https://github.com/google/web-starter-kit),并成功地制作了一个小型渐进式Web应用程序。但是,我在一个问题上卡住了:缓存来自外部CDN的静态文件。 例如,我正在使用来自https://font...

28得票6回答
使用create-react-app创建的应用程序无法获取服务工作者

最近,我创建了两个React应用程序,但它们都没有服务工作者,相反生成了一个名为'reportWebVitals.js'的新文件。 这是我创建新应用后src文件夹结构: 另外,如果我们运行该应用程序并检查浏览器,它会显示“未检测到匹配的服务工作者”。

28得票6回答
如何强制更新Service Worker?

我正在使用sw-precache来生成我的服务工作,与Polymer CLI构建过程一起使用,因此旨在更新更新文件的哈希,以表示需要更新缓存。但是我的更新内容没有在缓存中被替换,因此如果我使用ctrl + r刷新,则会获得旧版本,但如果我使用ctrl + shift + r刷新,则会获得新版本...

28得票6回答
Firebase云消息传递:setBackgroundMessageHandler未被调用

我正在使用FCM原型化浏览器推送通知。我刚从快速入门中复制了示例代码(https://github.com/firebase/quickstart-js/tree/master/messaging)。消息能够按预期收到并显示。但是当我尝试在Service Worker中修改消息(messagi...

28得票8回答
谷歌浏览器推送通知无法在浏览器关闭后工作?

在这里写到,即使浏览器关闭,推送通知也会起作用,但我测试了一下并不是这样的。只有浏览器处于打开状态时,我才能收到推送通知(无论特定网页是否打开)。 我在桌面版Chrome和Android版Chrome上进行了测试(更新到最新版本后)。 我的问题是:推送通知需要浏览器处于打开状态吗? 注意...

28得票2回答
Firefox上的Manifest v3后台脚本/服务工作者

我正在尝试将我的浏览器扩展程序(我希望它能在Chrome和Firefox上运行)从清单v2迁移到v3。 然而,关于background部分,我得到了矛盾的信息。我在Google和Stack Overflow上进行了大量研究,似乎没有人对任何事情达成一致意见。此外,大多数信息似乎已经过时。在我...

28得票4回答
Angular 7 - Service Worker未注册

我按照 "https://angular.io/guide/service-worker-getting-started" 中所写的步骤进行了一切操作,以使我的应用程序成为渐进式Web应用(PWA)。 确切地使用了这些命令:ng add @angular/pwa npm install h...