问题标签 [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.

0 投票
0 回答
207 浏览

javascript - 如何在使用 GET 时使用 FETCH API 并设置非标头变量?

为了使事情更容易理解,请考虑以下代码:

我试图实现的是如何使用 fetch api 创建与上述代码相同的行为。我使用 Google AMP,所以这不会验证。我目前正在尝试做的是创建一个服务工作者,并从那里运行 JavaScript。在一个普通的 html 页面中,上面的代码片段会从远程服务器返回一个响应(我试过并验证了它),并带有一个 json 对象,该对象在 chrome 开发工具的“XHR and Fetch”中可见。问题是由于 cors 政策,我不能使用 POST,而只能使用(?)GET。所以我想出了下面的代码:

我在控制台中收到

有人可以对这个问题提供一些见解吗?显然这是一个不透明的响应,我不知道如何处理它。

0 投票
1 回答
69 浏览

service-worker - 获取服务人员

嗨,我正在尝试使用 Autodesk forge 查看器、INSTALLACTIVATE工作创建服务人员,但无法获取。

这是我的服务人员

我正在尝试制作自己的“断开连接的工作流程”来获取帖子并缓存所有模型以从 bim360docs、a360 和使用 2leg forge 教程中离线查看它们。

0 投票
2 回答
2444 浏览

javascript - 服务人员 notificationclick 事件没有聚焦或在选项卡中打开我的网站

我在我的网站中使用 FCM 推送通知,我希望用户可以在他或她点击推送通知时进入我的网站。请注意,用户可能在其他应用程序或其他浏览器选项卡中,我希望当用户收到 fcm 通知时,用户将能够通过单击 Firefox 浏览器中的通知进入我的网站。出于这个原因,我使用了 service worker 中可用的 notificationclick 事件。我使用的代码是这样的:

它不会打开窗口或专注于我的网站选项卡。为了调试代码,我打印了 clientList 变量,它是一个长度为零的数组。

我在浏览器中得到的错误是这个

上面的错误是指这行代码:

操作系统:Mac firefox:63.0.3 reactjs:16.2.0

0 投票
1 回答
864 浏览

javascript - 后台同步未在服务人员中触发事件

我的同步事件没有触发,我正在使用chrome 网络服务器在我的桌面 PC 上的localhost:5000上提供一个页面,并使用 fetch api 在单独的端口localhost:1337上将数据发布到本地开发服务器。已经关闭了我的 wifi、chrome 网络服务器以及 chrome devtool 中的离线切换,但仍然没有触发我的事件。

这是我在 serviceworker.js 片段中用于同步的代码

还没有真正发布到数据库,试图控制台favdata但没有收到消息,事件没有被触发。

我在其中注册 serviceworker 的 main.js 中的片段

我收到一条控制台消息“ [ServiceWorker] 已准备好 - 同步已注册”,但在我离线发布数据并重新连接后没有从同步事件中收到消息。

0 投票
1 回答
13166 浏览

service-worker - 是否可以在 PWA 未打开时使用服务人员跟踪地理位置

当应用程序未在手机上打开时(在后台),是否可以使用服务人员从本地存储读取并跟踪 PWA 中的地理位置

到目前为止,我的研究表明没有,我发现 PWA 需要对位置服务开放。

谢谢,

0 投票
2 回答
1793 浏览

laravel - 启动 pushManager.subscribe 时未捕获(承诺)DOMException

我正在尝试向我的服务人员添加推送消息,并面临自昨晚以来一直困扰我的问题。

在我的主要 HTML 文件中,我有以下内容 -

我确实在控制台上收到“Service Worker Registered”消息。这意味着注册成功。然而,Chrome 紧随其后的是以下行,该行没有说明错误 -

Uncaught (in promise) DOMException (index):1

单击(index):1将我带到相应页面的顶部/pwa/,并突出显示<!DOCTYPE html>

它没有给我任何有意义的信息来进一步调查这个问题。

如果您能指导我解决此问题,将不胜感激。我将在下面粘贴我的其余代码和设置。

  1. 后端框架:Laravel。
  2. 在我的 webpack.mix.js 中输入

进入我的service-worker-offline.js-

我期待您的回复,并提前感谢您的帮助。


附录:

我做了进一步调查,发现如果我这样做 -

然后推送通知起作用;但错误仍然存​​在。但是,错误现在指向registration.pushManager.subscribe({userVisibleOnly: true});JS 中的行。可能是什么原因?

0 投票
2 回答
4269 浏览

javascript - 在哪里放置 serviceworker 的事件监听器

基本上,我试图在检测到新的 serviceworker 版本时显示一个对话框,然后让用户决定重新加载以获取它。为此,我们需要skipWaiting在重新加载窗口之前主动设置。

这是我的行动:

这是我创建 eventListener 的尝试:

问题是navigator.serviceWorker.addEventListener('message', event =>不会被触发。我是在声明听众错了吗?

0 投票
2 回答
2505 浏览

javascript - self.skipWaiting() 在 Service Worker 中不起作用

我有一个服务人员。这是安装事件:

出于某种原因,当我编辑 service worker 代码并更新 service worker 文件 URL 中的查询参数时,它会安装但不会激活(根据 Chrome DevTools)——即使我调用了self.skipWaiting().

奇怪的是,如果我进入控制台,进入服务人员的范围并输入self.skipWaiting()自己,它会立即激活。

几个小时以来,我一直在努力弄清楚发生了什么,我完全被难住了。我在这里缺少什么吗?

0 投票
1 回答
3096 浏览

service-worker - Uncaught (in promise) TypeError: Request failed pwa error

我正在尝试构建一个渐进式 Web 应用程序 (PWA)。

Service Worker 显示已注册,PWA 审计显示一切正常,但控制台显示此错误:

TypeError:请求失败 pwa 错误

我无法缓存文件。

我在 Stack Overflow 上尝试了所有可能的答案,结果都是一样的

我还尝试将缓存 URL 更改为“。” "./" "/"

我也在根 url 和文件夹中尝试过。试图改变一切,但没有成功。

无法缓存网址。

需要帮忙。

0 投票
2 回答
5472 浏览

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 文件: