service-worker相关内容
有没有办法列出所有注册的浏览器服务工作者? 假设我已经注册/安装了几个服务人员。 我可以通过js获取文件名数组列表吗? 推荐答案 显然我发现了两种适合我的方法(适用于Chrome): 一种是使用快捷命令: chrome://serviceworker-internals/ 另一个是: 转到Developers Tool -> Resources -> Service W
..
在运行过程中,服务人员包含一定数量的数据,这些数据在服务人员完成之前必须保存,并且是监控所必需的。 如何确定服务人员何时完成? 推荐答案 没有在终止服务工作线程之前激发的事件。服务人员应该是短暂的,在发生相关事件时启动,然后在该事件处理后不久关闭。 可以唤醒服务工作者的事件往往实现ExtendableEvent interface,您可以在事件处理程序中执行异步工作,只要该工作
..
我正在使用工作箱运行时缓存来缓存外部调用(Materialize.css就是其中之一)。在我的网络选项卡中,它显示请求来自serviceWorker(看起来很好): 但在缓存存储上,我的运行时缓存看起来是空的: 您可以在chromes的应用程序选项卡上看到我的服务人员,这是网站:https://quack.surge.sh/ 服务人员编码: const workboxSW
..
TLDR:似乎由Create Reaction App生成的某个区块js文件未包含在ServiceWorker中。 我认为我们有一个非常普通的Create Reaction App(Version 4.0.3)配置,其中启用了ServiceWorker。当我进行构建(使用NPM run Build)时,它会创建一个Build/Static/js文件夹,其中包含两个块文件:一个主块文件(即ma
..
我一直收到此错误: Unauect(In Promise)DOMException:未能对‘FetchEvent’执行‘RespondWith’:已响应该事件。 我知道,如果FETCH函数中发生异步事件,服务工作者会自动响应,但我不能确定此代码中的哪一位是违规者: importScripts('cache-polyfill.js'); self.addEventListener
..
我们有一个不会安装的PWA,而是只添加了主屏幕的快捷方式(应用图标上带有Chrome徽章)。 灯塔审核为可安装应用程序提供了3/3的100%(使用HTTPS、注册服务工作者、清单满足可安装性要求),声明“浏览器可以主动提示用户将您的应用程序添加到他们的主屏幕中,这可能会带来更高的参与度。” 确实会显示“将XXX添加到主屏幕”横幅,并且会触发安装前提示,但它始终会创建快捷方式,而不是应用
..
创建-反应-应用程序(yarn run build)的构建过程在重新构建之前删除旧的静态JS文件。当部署到Firebase托管时,旧的JS文件不包括并且不再提供服务。 然而,在访问旧版本后,Service Worker(由sw-proaching和sw-proache-webpack-plugin构建,默认包含在CRA中)缓存了旧的Html,其中包括不再提供的旧JS文件,因此我在控制台中看到
..
生成Reaction应用程序的生产版本并按照说明将其部署到Google的App Engine后,我在所有浏览器中注册服务工作者时遇到问题。 我在app.yaml中尝试了不同的配置,最新的配置是: # [START runtime] runtime: nodejs8 # [END runtime] # [START handlers] handlers: - url: /
..
是否有方法将值传递给服务工作人员,以便它可以在安装步骤中使用? 例如,如果您的网页资源位于基于项目发布版本(resource-2.11/js/...)的文件夹中。在某些情况下,您需要知道resource-2.11才能缓存某些文件。能否传入此值? 推荐答案 有几种不同的方法。 在构建时生成service-worker.js文件可能是正确的方法,如注释中所建议的。这样做的好处是确保只要
..
我知道ServiceWorkers可以从缓存的网络请求中捕获响应。 也就是说,是否可以让这些工作进程在后台继续更新缓存? 考虑以下场景:用户登录到缓存了数据的应用程序后,会立即看到"Welcome, !" 服务工作者是否可以在提供缓存匹配后继续发出网络请求?用户本可以在其他设备上将其用户名更新为new_username,如果最终获得一致的用户界面
..
我正在和ServiceWorker玩耍,我注意到即使在成功注册后,服务人员也没有截获呼叫 我的sw.js: self.addEventListener('install', (event) => { console.log('install') }) self.addEventListener('activate', (event) => { console.log(
..
我正在开发一个Chrome扩展,它旨在检查用户导航到的任何网页的内容,然后提醒用户该内容的某些功能。(也许最容易想到在网页的文本数据中搜索大量字符串,尽管这是一个相当大的简化。)根据设计,扩展可以检测到非常大的一组(数千万)功能,并因此可以对其做出反应。每个这样的功能都可以表示为一个JS编号(8字节),因此数据总量可能在100 MB或更大的数量级。 数据可以存储在IndexedDB中,但为了
..
我收到报告说,在最新版本的Firefox中,按Back会导致My ServiceWorker提供的“You Are Offline”页面出现。 以下是ServiceWorker的功能部分: self.addEventListener('fetch',function(event) { // We only want to call event.respondWith() if th
..
以下配置抛出错误‘请求方法’POST‘不受支持’。我已经读到存储API不会在缓存中使用POST作为键的方法来请求对象,但我不知道如何添加路由,这为这些请求显示了一种networkOnly策略。 规格(安装程序取自https://github.com/nystudio107/annotated-webpack-4-config) 使用GenerateSW webpack.setti
..
我有处理推送通知点击事件的服务人员: self.addEventListener('notificationclick', function (e) { e.notification.close(); e.waitUntil( clients.openWindow(e.notification.data.url) ); }); 收到通知时
..
我现在已经花费了无数个小时来尝试让缓存API缓存一个简单的请求。我让它在中间工作过一次,但忘了向缓存键中添加一些东西,现在它不再工作了。不用说,cache.put()没有指定请求是否被实际缓存的返回值并不完全有帮助,我只能反复试验。也许有人能给我一个提示,告诉我我做错了什么,实际上需要什么?我现在已经把所有的文件读了三遍以上,我完全不知所措了。… 可能值得注意的是,这个REST终结点设置了pra
..
可以在服务人员中导入Dexie吗? importScripts("https://unpkg.com/dexie@latest/dist/dexie.js"); 导致: 脚本资源位于重定向之后,这是不允许的。 我必须通过将代码保存到本地文件来将其本地导入到Worker中,但得到一个“Window is unfined Error” 尽管Dexie代码似乎检查的是自身而不是窗口... 我
..
由于Chrome切换到本机OSX通知,有时我尝试使用Web推送和我的服务人员显示的通知不会出现。 它们在早期版本的Chrome中显示一致。 自从他们搬家后,我应该做些什么更改吗? 推荐答案 请确保关闭了请勿打扰: 通知中心>通知(滚动到顶部) 打开通知中心右下角的通知>通知>齿轮按钮 (https://support.apple.com/en-us/HT204079)
..
我正在尝试订阅PushManager以发送推送通知,但调用Subscribe时总是出错。 这是我的订阅电话 registration.pushManager.subscribe({ userVisibleOnly: true }) .then(function (subscription) { /* ... */}) .catch(function (err) { /* ...
..
我已尝试使用workbox为我的Django Web App提供脱机功能,但未成功。 我已按照get started guide进行操作,并成功注册了Success the Service Worker,并从缓存中保存/提供静态和媒体资源。 存档Describe的代码: urls.py ... url(r'^service-worker.js', cache_control
..