我无法捕捉到服务工作者的消息事件引发的异常.. 客户端使用以下代码在 SW 上执行命令: 在 SW ( sw.js ) 方面,我有以下代码: 只要 SW 不抛出任何异常,此解决方案就可以正常工作。 这意味着客户端在 SW 上长时间运行的进程执行后打印“完成”消息。 如果抛出异常,则永远不会 ...
我无法捕捉到服务工作者的消息事件引发的异常.. 客户端使用以下代码在 SW 上执行命令: 在 SW ( sw.js ) 方面,我有以下代码: 只要 SW 不抛出任何异常,此解决方案就可以正常工作。 这意味着客户端在 SW 上长时间运行的进程执行后打印“完成”消息。 如果抛出异常,则永远不会 ...
有没有办法在加载自定义函数之前检查服务人员是否找到了更新? 我有这个 function 正在工作,但它运行自定义功能两次,看起来很不整洁.. 我正在寻找一种只运行一次自定义功能的方法,而不是在找到并安装更新时运行。 当发现更新时,用户 || 页面将自动重新加载,然后自定义功能可以正常运行.. 我在 ...
Service Workers 替换了 Manifest v3 Google Chrome Extensions 中的背景页面,我正在尝试将一个用于我的扩展。 文档说应该避免使用计时器( setTimeout和setInterval ),因为当服务人员终止时计时器会被取消(这可能随时发生)。 与 ...
我第一次尝试使用serviceWorkers ,尽管它开始很好,但我有点卡住了.. 这是我非常简单的service-worker.js : 我像这样注册服务人员: 当我加载我的应用程序时,我得到以下日志: 所以,我确实调用了install事件,但没有调用activate事件。 此外,当我从我的应用程 ...
我的自定义服务人员有问题。 最初加载页面时,它似乎没有拦截第一个 fetch req(但之后的所有 fetch req 都被正确拦截)。 但是,如果我重新加载页面,所有 fetch 请求都会被 service-worker 正确拦截。 所以问题只存在于页面的初始加载。 ...
我的情况如下: 我有一个使用Service Worker的渐进式 Web 应用程序,每次用户请求资源或离开当前 URL 时,我都需要捕获请求并对其进行处理 我正在通过向 worker 的fetch 事件添加回调来处理这个问题 我只关心我们域中请求的资源(例如 example.com) ...
因此清单已被弃用,试图在 express web 应用程序中实现服务工作者。 这是我的项目结构: 在我的快递应用程序中,我正在使用这样的公用文件夹: login.ejs 模板渲染 & 在 login.ejs 内部具有服务工作者加载代码 并且注册成功。 和 sw.js 安装和激活监听器工作正 ...
我希望在前端处理来自服务人员的错误。 我看到了这个问题 - 如何使用 Web Workers 进行正确的错误处理? 我尝试了 onerror - 我尝试使用来自服务人员的发布消息并在前端收听它。 我试着听一个错误。 我找不到再次在前端脚本中获取消息的方法。 ...
我有一个 Progressive Web 应用程序,其中服务工作者配置如下所示。 我遵循预缓存方法。 每个文件将首先被缓存,请求将从缓存中提供。 如果本地缓存中没有匹配项,则通过网络提供请求。 如果一切都失败了,则会显示一个离线/错误页面。 一切正常。 但我坚持更新 index.html 文件。 场 ...
我正在尝试构建一个可以离线工作的网络应用程序。 我找到了 JS Service Worker,现在我已经在我的应用程序中实现了它来存储一些 static 页面。 现在我想构建一个 HTML 表格,如果用户离线,用户填写的内容将保存到缓存中。但是当用户在线时直接发送到 mysql。 它就像一个带有查 ...
为了掌握服务人员,我仍在做实验,我面临一个问题,可能是因为我缺乏 JavaScript 和服务人员方面的专业知识。 当我希望新的服务人员使用postMessage() skipWaiting()时,就会出现问题。 如果我显示一个带有按钮的弹出窗口并在那里绑定对postMessage()的调用,则一 ...
我正在开发一个反应应用程序并使用服务工作者拦截每个获取请求。 我需要得到 API 响应时间,就像我们通常使用 service worker 使用performance.now()所做的那样,就好像我在它的 fetch 方法上添加了 eventListener,它可以拦截每个 fetch 请求。 我不 ...
在 android chrome 的情况下,服务人员同步不会触发我错过了什么??? 此处相同: JavaScript 如果在离线时加载/刷新页面,后台同步将停止工作拔下 usb 电缆进行开发(用于 chrome 开发工具) 按下 android 主页按钮按电源按钮睡眠(黑屏) 然后我等5分钟(至少) ...
我正在使用这个众所周知的模式在准备安装服务工作者更新时显示通知(此代码进入 web 页面,当然它不是服务工作者代码): 当然,该代码有效,如果准备好安装新版本的 Service Worker,它会在 web 页面上显示通知。 问题在于,如果此时重新加载页面,则不再显示通知,因为如果安装了新的 ser ...
我一直在玩 angular 的 PWA。 我让一切都按照我的意愿运行,但我还有一些悬而未决的问题: swUpdate.available observable 随机触发两次(一次)。 怎么来的? 如果我在更新可用时通过对话框提示用户,但他拒绝了 - swUpdate.available 会再次触发 ...
我正在使用 Django-Webpush 向用户发送推送通知,单击通知会在新选项卡中打开 URL。 我想做的是在一个新的弹出窗口 window 中打开 URL ,类似于: 我已经搜索过,但找不到使用 self.clients.openWindow() 的方法。 它只是在新选项卡中打开 URL,这对 ...
正如您可能已经知道的那样,您应该将您的服务工作者放在基本目录中,以便它具有整个项目的范围,否则某些功能(例如 navigator.serviceWorker.ready())将不可用。 我的问题是我最初将我的 service worker 放在一个目录中,现在我觉得有点被困住了。 我使用 ser ...
我制作了一个 sw.js 文件来缓存我的聊天网站,以便用户可以在离线模式下打开,但是,Service Worker 文件导致了很多问题,包括无法看到新消息和大量网站崩溃,因此我被迫将其删除. 可悲的是,我当前的用户都无法手动删除缓存! 请注意,我保留了 sw.js 文件,但它现在是空的,所以我可以编 ...
我按照此代码让用户下载文件以缓存以离线显示它们: https://serviceworke.rs/cache-from-zip.html 它可以工作,但是对于大文件可能需要一些时间,所以我想在加载 zip 文件时显示进度指示器。 我想它可以在获取部分完成,但我不知道如何: https://servi ...
我注意到当服务工作者脚本本身加载到浏览器中时,服务工作者的 fetch 事件不再被触发。 例如,当我们有一个新版本的 service worker 时,旧的 service worker 的 fetch 事件不会被触发。 结果,旧的 Service Worker 无法再检查新 Service Wor ...