service-worker 相关问题

服务工作者是JavaScript代码,一旦向相关的来源和范围注册,即使其控制的页面不再打开,也会响应浏览器启动的事件。通过处理`fetch`事件,服务工作者可以提供自定义网络行为,例如离线支持(通过Cache API)。通过处理`push`事件,服务工作者可以“醒来”并显示通知。

防止service-worker.js与vite/rollup捆绑

我有一个使用 Vite 编译和捆绑的基于 TypeScript 的 Vuejs 项目。 我正在尝试配置构建系统来编译我的自定义服务工作线程 (src/service-worker.ts) 并将输出放置在...

回答 1 投票 0

Service Worker 缓存在用户更改时重置

我已经在我正在开发的应用程序上设置了基本的 Service Worker 安装。 当用户注销并使用另一个用户名登录时,此 Service Worker 会导致很多问题。甚至

回答 2 投票 0

服务工作线程未拦截初始加载时的第一个获取调用

我的自定义服务工作人员遇到问题。当页面最初加载时,它似乎没有拦截第一个提取请求(但随后的所有提取请求都被正确拦截)。

回答 2 投票 0

在 Android 上创建 React 应用程序 PWA 推送通知

是否可以使用 CRA 发送安装在 Android 手机上的 PWA 推送通知? 限制条件: 创建反应应用程序 注册 Service Worker 转为 PWA PWA 作为“...

回答 2 投票 0

Android - PWA 无法在独立模式下与 Service Worker 一起打开

在开发渐进式网络应用程序时,出现了以下问题: 独立模式可以在不包含 Service Worker 的情况下完美运行 - 但不能使用。 没有 Service-Worker a2hs (...

回答 2 投票 0

在初始化时将数据传递给 Service Worker js

是否可以将数据传递给服务工作者,或者在主线程中使用全局定义的变量? 例如,我需要初始化一个 firebase 消息传递库,并且我想传递一个 messagesSend...

回答 2 投票 0

无法从 React js 中的 Service Worker 将文件上传到 Django 服务器

这是我的background-worker.js文件中的代码,它应该负责上传blob const addExerciseDataToDatabase = async(blob、练习、患者、authToken)=> { ...

回答 1 投票 0

Firebase 通知事件在 Service Worker 中不起作用(notifcationclose、notificationclick)

我正在尝试使用 firebase 通过我的 React 应用程序发送网络推送通知。我已成功显示通知,但我希望通知 1. 持续存在,直到与 (

回答 2 投票 0

如何阻止 Service Workers 安装在 Chrome 浏览器中?

我想阻止选定的网站安装 Service Worker 或完全禁用安装 Service Worker 的功能。 我怎样才能做到这一点?

回答 3 投票 0

如何将变量移出服务工作者的本地范围

我正在使用 Broadcast Channel API 将数据从源代码发送到 service-worker:firebase-messaging-sw.js。 然后我使用以下函数在 service-worker 中检索它: const mainChannel = 新

回答 1 投票 0

在开发模式下禁用 Service Worker

在开发过程中,我的 Web 应用程序项目在 https://localhost 的开发服务器上提供文件。但是,Chrome 会阻止其 Service Worker 访问服务器(因为它不信任......

回答 4 投票 0

测试咖啡馆的测试服务人员

我想使用 TestCafe 来检查我的 Service Worker 是否注册成功。我可以使用以下代码从浏览器控制台进行检查 (等待 window.navigator.serviceWorker.getRegist...

回答 1 投票 0

React pdf js - 警告:设置假工人

我正在使用 React pdf 查看器,我想在本地设置工作人员。我尝试过这样做: 从“pdfjs-dist/build/pdf.worker.entry”导入pdfjsWorker; 我正在使用 react pdf 查看器,我想在本地设置工作人员。我尝试过这样做: import pdfjsWorker from "pdfjs-dist/build/pdf.worker.entry"; <Worker workerUrl={pdfjsWorker}> <Viewer fileUrl={url} defaultScale={SpecialZoomLevel.PageFit} plugins={[ defaultLayoutPluginInstance ]} /> </Worker> 但是,这会引发警告: 警告:设置假工人 那么导入工人的正确方法是什么,为什么我会收到此警告? 我遇到了类似的问题,通过添加 pdf.worker.js 解决了它们 Git 参考 我在worker.js的头部添加了js文件,即https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.worker.js 然后我根据控制台错误更正版本(2.10.377 到 2.3.200),并开始加载 pdf 就我而言,不要像这样编写代码: <script src="/js/pdf.worker.min.js"></script> <script src="/js/pdf.min.js"></script> 我写的是: <!--script src="/js/pdf.worker.min.js"></script--> // removed <script src="/js/pdf.min.js"></script> $(function() { pdfjsLib.GlobalWorkerOptions.workerSrc = '/js/pdf.worker.min.js'; }); 这使得警告消失了...... 即使我的 PDF 无论如何都已渲染 - 我只是想删除该警告。 小心! pdfjs版本必须相同 请像下面这样使用它 import { Worker, Viewer } from '@react-pdf-viewer/core'; import '@react-pdf-viewer/core/lib/styles/index.css'; import { pdfjs } from 'react-pdf'; const YourComponent = () => { return ( <div> <Worker workerUrl={`https://unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`}> <Viewer fileUrl={fileUrl} /> </Worker> </div> ) }; pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.0.279/pdf.worker.min.js' 在导入 pdfjs-dist 后添加此内容并尝试根据控制台错误匹配版本(此处为 3.0.279)。这对我有用。 Worker 组件需要一个 workerUrl,其类型为 string。您可能需要将代码中的 pdfjsWorker 替换为实际的 pdf-worker url。 const pdfVersion = "2.6.347" const pdfWorkerUrl = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfVersion}/pdf.worker.js` <Worker workerUrl={pdfWorkerUrl}> <Viewer fileUrl={url} defaultScale={SpecialZoomLevel.PageFit} plugins={[ defaultLayoutPluginInstance ]} /> </Worker> 注意: 请确保为 pdfjs-dist 和worker 设置相同的版本。 官方文档在这里提到了同样的事情:https://react-pdf-viewer.dev/docs/basic-usage/ 我在 next.js 中编写以下代码并且它有效! import "./index.css"; import * as PDFJS from "pdfjs-dist/build/pdf"; import * as PDFJSWorker from "pdfjs-dist/build/pdf.worker"; export default async function ReaderScreen(props: { filepath: string }) { PDFJS.GlobalWorkerOptions.workerSrc = PDFJSWorker; const pdf = await PDFJS.getDocument(props.filepath).promise; const pages = pdf["_pdfInfo"].numPages; return <div>Pages: {pages}</div>; } 如果您在代码中看到以下错误: 然后,在index.d.ts目录下创建一个typings文件,并写入以下代码: declare module "pdfjs-dist/build/pdf"; declare module "pdfjs-dist/build/pdf.worker"; 现在应该可以使用了。

回答 6 投票 0

webpack.config.js 与 .data(二进制)文件

我尝试离线使用仪表和二维码扫描仪。 此扫描仪需要 10 个文件:2 个 .js、2 个 .gz 和 6 个 .data 文件。 我在 webpack.config.js 中添加了该文件夹,如下所示: { 来自:'anylinejs',到:'anylinejs' }

回答 1 投票 0

如何在 Chrome Extension Manifest V3 后台服务工作线程中每秒调用一个函数?

Service Workers 替换了 Manifest v3 Google Chrome 扩展程序中的后台页面,我正在尝试为我的扩展程序使用一个。文档说计时器(setTimeout 和 setInterval)应该是 av...

回答 2 投票 0

使用 webpack 离线插件从 service-worker 中排除 url

我目前正在同一域上设置 2 个应用程序,使用 AWS Cloudfront 来管理应用程序之间的路由。这 2 个应用程序之一是 React 应用程序,基于 React-Boilerplate 并使用离线插件来...

回答 2 投票 0

语法错误:msw 中出现意外的字符串

最近我开始在我的反应项目中遇到模拟服务工作者(msw)的错误。 细节: 节点 v16.19.1 vite/3.2.6 linux-x64 节点-v16.19.1 反应18.2.0 检查了 google、github 问题,但没有...

回答 1 投票 0

为什么caches.match(event.request)无法识别带有get方法的fetch()请求?

我正在构建一个具有离线支持的 PWA。我使用先缓存后网络的策略来缓存动态页面,并且一切都运行良好(即,缓存的页面是从缓存中提供的,并且它在离线时工作......

回答 1 投票 0

在 Service Worker 更新时重新加载 Create-react-app

我想修改 create-react-app Service Worker 文件并实现弹出消息,如果新的 Service Worker 已准备好激活,该消息将要求用户更新应用程序。我快完成解决方案了...

回答 5 投票 0

如何阻止 Angular Service Worker 缓存 Facebook 像素?

我已在我的 Angular webApp 中启用了 facebook Pixel。但它只有在我硬刷新时才有效。之后,请求通过 Service Worker 触发,并且没有在 Facebook Pixel 中注册

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.