小编nul*_*ele的帖子

如何解决 Service Worker 导航“此 Service Worker 不是客户端的活动 Service Worker”错误?

我为我的 quasar pwa 创建了一个服务工作人员来管理 fcm Web 后台通知。目的是管理前台和后台通知的点击并将用户重定向到我的 PWA 的特定页面。

因此,当我收到通知时,我有两种情况:

前台通知

  • 1a) 浏览器聚焦/最大化 + 用户已经在 PWA 选项卡上 + PWA 位于右侧页面 -> 无需执行任何操作
  • 1b) 浏览器聚焦/最大化 + 用户已经位于 pwa 选项卡上 + pwa 位于另一个页面上 -> 我必须重定向到特定的 pwa 页面

后台通知

  • 2a) 浏览器未聚焦或最小化,或者用户不在 PWA 选项卡上 + PWA 位于右侧页面 -> 我必须聚焦/最大化浏览器或聚焦 PWA 选项卡,然后无事可做
  • 2b) 浏览器未聚焦或最小化,或者用户不在 PWA 选项卡上 + PWA 在另一个页面上 -> 我必须聚焦/最大化浏览器或聚焦 PWA 选项卡,然后重定向到特定的 PWA 页面

1a、1b 和 2a 中一切正常。对于 2b,我收到这个奇怪的错误“此服务工作线程不是客户端的活动服务工作线程”。

我在服务工作人员中有以下代码来管理后台通知单击时的重定向。我在navigate()方法上收到错误。

self.addEventListener('notificationclick', function(event) {
    console.log('notificationclick', event);
    event.notification.close();

    let route …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js service-worker firebase-cloud-messaging quasar-framework

6
推荐指数
1
解决办法
1574
查看次数