问题标签 [service-worker-events]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何在使用 GET 时使用 FETCH API 并设置非标头变量?
为了使事情更容易理解,请考虑以下代码:
我试图实现的是如何使用 fetch api 创建与上述代码相同的行为。我使用 Google AMP,所以这不会验证。我目前正在尝试做的是创建一个服务工作者,并从那里运行 JavaScript。在一个普通的 html 页面中,上面的代码片段会从远程服务器返回一个响应(我试过并验证了它),并带有一个 json 对象,该对象在 chrome 开发工具的“XHR and Fetch”中可见。问题是由于 cors 政策,我不能使用 POST,而只能使用(?)GET。所以我想出了下面的代码:
我在控制台中收到
有人可以对这个问题提供一些见解吗?显然这是一个不透明的响应,我不知道如何处理它。
service-worker - 获取服务人员
嗨,我正在尝试使用 Autodesk forge 查看器、INSTALL和ACTIVATE工作创建服务人员,但无法获取。
这是我的服务人员
我正在尝试制作自己的“断开连接的工作流程”来获取帖子并缓存所有模型以从 bim360docs、a360 和使用 2leg forge 教程中离线查看它们。
javascript - 服务人员 notificationclick 事件没有聚焦或在选项卡中打开我的网站
我在我的网站中使用 FCM 推送通知,我希望用户可以在他或她点击推送通知时进入我的网站。请注意,用户可能在其他应用程序或其他浏览器选项卡中,我希望当用户收到 fcm 通知时,用户将能够通过单击 Firefox 浏览器中的通知进入我的网站。出于这个原因,我使用了 service worker 中可用的 notificationclick 事件。我使用的代码是这样的:
它不会打开窗口或专注于我的网站选项卡。为了调试代码,我打印了 clientList 变量,它是一个长度为零的数组。
我在浏览器中得到的错误是这个
上面的错误是指这行代码:
操作系统:Mac firefox:63.0.3 reactjs:16.2.0
javascript - 后台同步未在服务人员中触发事件
我的同步事件没有触发,我正在使用chrome 网络服务器在我的桌面 PC 上的localhost:5000上提供一个页面,并使用 fetch api 在单独的端口localhost:1337上将数据发布到本地开发服务器。已经关闭了我的 wifi、chrome 网络服务器以及 chrome devtool 中的离线切换,但仍然没有触发我的事件。
这是我在 serviceworker.js 片段中用于同步的代码
还没有真正发布到数据库,试图控制台favdata但没有收到消息,事件没有被触发。
我在其中注册 serviceworker 的 main.js 中的片段
我收到一条控制台消息“ [ServiceWorker] 已准备好 - 同步已注册”,但在我离线发布数据并重新连接后没有从同步事件中收到消息。
service-worker - 是否可以在 PWA 未打开时使用服务人员跟踪地理位置
当应用程序未在手机上打开时(在后台),是否可以使用服务人员从本地存储读取并跟踪 PWA 中的地理位置
到目前为止,我的研究表明没有,我发现 PWA 需要对位置服务开放。
谢谢,
laravel - 启动 pushManager.subscribe 时未捕获(承诺)DOMException
我正在尝试向我的服务人员添加推送消息,并面临自昨晚以来一直困扰我的问题。
在我的主要 HTML 文件中,我有以下内容 -
我确实在控制台上收到“Service Worker Registered”消息。这意味着注册成功。然而,Chrome 紧随其后的是以下行,该行没有说明错误 -
Uncaught (in promise) DOMException (index):1
单击(index):1
将我带到相应页面的顶部/pwa/
,并突出显示<!DOCTYPE html>
。
它没有给我任何有意义的信息来进一步调查这个问题。
如果您能指导我解决此问题,将不胜感激。我将在下面粘贴我的其余代码和设置。
- 后端框架:Laravel。
- 在我的 webpack.mix.js 中输入
进入我的service-worker-offline.js
-
我期待您的回复,并提前感谢您的帮助。
附录:
我做了进一步调查,发现如果我这样做 -
然后推送通知起作用;但错误仍然存在。但是,错误现在指向registration.pushManager.subscribe({userVisibleOnly: true});
JS 中的行。可能是什么原因?
javascript - 在哪里放置 serviceworker 的事件监听器
基本上,我试图在检测到新的 serviceworker 版本时显示一个对话框,然后让用户决定重新加载以获取它。为此,我们需要skipWaiting
在重新加载窗口之前主动设置。
这是我的行动:
这是我创建 eventListener 的尝试:
问题是navigator.serviceWorker.addEventListener('message', event =>
不会被触发。我是在声明听众错了吗?
javascript - self.skipWaiting() 在 Service Worker 中不起作用
我有一个服务人员。这是安装事件:
出于某种原因,当我编辑 service worker 代码并更新 service worker 文件 URL 中的查询参数时,它会安装但不会激活(根据 Chrome DevTools)——即使我调用了self.skipWaiting()
.
奇怪的是,如果我进入控制台,进入服务人员的范围并输入self.skipWaiting()
自己,它会立即激活。
几个小时以来,我一直在努力弄清楚发生了什么,我完全被难住了。我在这里缺少什么吗?
service-worker - Uncaught (in promise) TypeError: Request failed pwa error
我正在尝试构建一个渐进式 Web 应用程序 (PWA)。
Service Worker 显示已注册,PWA 审计显示一切正常,但控制台显示此错误:
TypeError:请求失败 pwa 错误
我无法缓存文件。
我在 Stack Overflow 上尝试了所有可能的答案,结果都是一样的
我还尝试将缓存 URL 更改为“。” "./" "/"
我也在根 url 和文件夹中尝试过。试图改变一切,但没有成功。
无法缓存网址。
需要帮忙。
angular - Angular 7 Service Worker 设置 - ngsw-worker.js 注册错误
问题:
目前得到 ERR_INVALID_RESPONSE 和 /ngsw-config.json:-Infinity Parser error: for the ngsw-worker.js file in the network traffic。
见下图:
技术: Angular cli 和 Angular 版本 7。
我做过的事情
我已将这些标签添加到 index.html 头中:
我的清单.json:
我的 angular.json 文件:
为了:
“架构师”:{“构建”:{“构建器”:“@angular-devkit/build-angular:browser”,“选项”:{“serviceWorker”:真
我的 Main.ts 文件:
我的 ngsw-worker.js 文件: