服务工作者是JavaScript代码,一旦向相关的来源和范围注册,即使其控制的页面不再打开,也会响应浏览器启动的事件。通过处理`fetch`事件,服务工作者可以提供自定义网络行为,例如离线支持(通过Cache API)。通过处理`push`事件,服务工作者可以“醒来”并显示通知。
我正在使用 ServiceWorker 来预缓存文件。每当我构建应用程序时都会生成 serviceworker.js,并且所有比 serviceworker.js 的最新版本更新的文件都会添加到该文件中...
从弹出窗口重新激活 Service Worker.onload
我正在开发一个 chrome 扩展,其中服务人员完成所有繁重的工作(功能、身份验证等),弹出窗口处理 UI。它的工作原理基本上是这样的弹出屏幕...
消息侦听器和获取侦听器之间的 Service Worker 竞争条件
我的服务工作线程有一个变量来存储安全哈希,并将其注入到相关 HTTP 请求的标头中,然后服务器应用程序将与它自己的进行比较,使其成为安全登录。 哈希值是
使用异步 ReadableStream 和 Response 从 Service Worker 的 fetch 事件返回 HTML
这个问题与我的其他问题类似,但考虑了 ReadableStream 内的异步性质。 这是我现在的测试代码: 常量流 = 新的 ReadableStream({ 开始(c){ ...
无法在“CacheStorage”上执行“has”:意外的内部错误
我在 NextJS12 应用程序中使用 PWA 服务工作者,但收到此错误: 无法在“CacheStorage”上执行“has”:意外的内部错误。 我用谷歌搜索但找不到任何解决方案,你...
我需要处理 500MB 的文件上传,用户可能会被重定向到登录页面,然后返回以恢复上传。要临时存储文件,可以使用 IndexedDB 或 CacheStorage 等选项
与 OneSignal Service Worker 安装相关的重要 GitHub Pages 问题
简单的脚本尝试从我的 GitHub 页面根获取脚本,我认为我正确设置了 OneSignal。 如何修复它? 也许有一种方法可以为 OneSignalSDK.sw.js 设置“默认”路径? 错误: [
Safari 浏览器始终会看到未更改的 Service Worker 的更新
我构建了一个 VueJS PWA 并使用 register-service-worker 来管理 Service Worker。我已经构建了该应用程序,因此当访问新路线时,它会手动检查服务工作人员的更新。如果...
如何为单页面应用程序设置和配置 Service Worker 以显示离线页面
我有一个单页应用程序,正在注册服务人员。注册、安装和激活工作。 获取没有。它永远不会着火。我猜这是因为 SPA 使用
在 Worker 中重写 postMessage / onmessage 函数时出现问题
我想在重写后创建的所有Worker中重写postMessage()函数。在加载页面之前,我在内容脚本的浏览器扩展中执行此操作。 我尝试过简单地...
在 Worker 中重写 postMessage 函数时出现问题
我想在重写后创建的所有Worker中重写postMessage()函数。在加载页面之前,我在内容脚本的浏览器扩展中执行此操作。 我尝试过简单地...
我有一个用 Gatsby 构建的旧网站,它使用 gatsby-plugin-offline 通过服务工作者缓存页面。我创建了一个新站点(在 NextJS 中),现在通过 Netlify 部署到相同的 URL...
使用 Angular Service Worker 时如何在注销后清除 api 的响应缓存?
我通过使用角度生成的服务工作线程缓存API的响应,现在我想在用户决定注销后清除这些缓存,我制作了新的自定义服务工作线程文件来监听混乱...
我使用 workbox-background-sync 插件在用户离线时对 POST 请求进行排队,设置如下: const postSyncPlugin = new BackgroundSyncPlugin('post-requests', { 最大保留时间...
服务工作线程无法处理 React vite 中的 .tsx/.jsx 文件。为什么?
console.log("服务人员"); 常量 OFFLINE_ASSETS = [ “/”, “/src/main.tsx”, “/vite.svg”, `https://crypted-tbn0.gstatic.com/images?q=tbn:
为什么在我更改 Service Worker 后 safari 会要求允许在每个 window.open() 上弹出窗口?
为什么 safari 在我更改 Service Worker 后要求允许在每个 window.open() 上弹出窗口?并且不允许打开新选项卡。这是我的 Service Worker 的代码。 更新我的 Service Worker 后...
如果你能认出这一点: 第一秒这是一个很重的文件,所以它很重要。 我什么...
为什么我的网页在使用 Service Worker 缓存离线服务时速度很慢?
我正在尝试使我的网页完全离线工作,但在尝试从缓存加载时遇到了一些加载时间问题 我目前正在缓存我的网站所需的所有文件...
有没有一种方法可以在不更改脚本 URL 的情况下将值传递给 Service Worker? const 注册 = 等待 navigator.serviceWorker.register("/sw.js?version=" + 版本, { 范围:'/...
从 Javascript 强制完全刷新 Blazor WebAssembly PWA 应用程序
此代码位于index.html中。我使用最新版本的 Blazor WebAssembly PWA 应用程序调用 updateVersion。第一行是 Service Worker 的原始注册,它是