查找来自 Service Worker 的活动推送通知的数量

2023-12-04

我已经使用 Service Worker 实现了推送通知。有什么方法可以找出窗口中当前显示的通知数量?我的目的是限制窗口中显示的通知数量。

我尝试了以下方法。但 getNotifications 函数返回空数组。

self.addEventListener('push', function(event) {
 if (!(self.Notification && self.Notification.permission === 'granted')) {
      return;
  }
  var data = event.data.json();
  var options = {
    body: data.notificationText,
    icon: 'files/assets/staff.png',
    vibrate: [100, 50, 100],
    data: {
      dateOfArrival: Date.now(),
      onClickUrl: data.onClickUrl,
      event_id: data.event_id,
      productName: data.product_name
    }
  };

  event.waitUntil(
    self.registration.getNotifications().then(function(notifications) {
      console.log(notifications);
      if (notifications && notifications.length > 0) {
        notifications.forEach(function(notification) {
          notification.close();
        });
      }
      showNotification(data.title, options);
    })
  );
});

您可以使用serviceWorker.getNotifications()它返回通知列表。你可以像这样使用它:

navigator.serviceWorker.register('sw.js');

navigator.serviceWorker.ready.then(function(registration) {
  registration.getNotifications().then(function(notifications) {
    // get the number of notifications
  }) 
});

如果您在 serviceworker 文件中执行此操作,则为:

self.registration.getNotifications().then(function(notifications) {
  // get the number of notifications
}) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找来自 Service Worker 的活动推送通知的数量 的相关文章

  • serviceworker 是否可以向 url 请求添加标头

    我有一个网站 我不想让人们创建帐户 它是一个新闻提要 其中每篇新闻文章都进行了分类 我想让人们标记他们感兴趣的类别 以便下次他们访问该网站时 它只显示标记类别的新闻 我将标签保存在 indexedDB 中 据我所知 它可以在服务工作者中使用
  • 如何发布和接收 NSNotifications(目标 C) |通知(Swift 中)?

    是否有一种易于理解的模式如何发送 NSNotification 目标 C 通知 Swift 中 以及如何接收通知 代码片段 文档关于这个主题写了大约 150 页 想看一个简单的例子 发送通知 NSNotificationCenter def
  • 取消通知

    我使用Onesignal推送通知 需要取消所有onPause和onResume的通知 NotificationManager notificationManager NotificationManager getApplicationCon
  • 设置大型电子邮件通知系统有哪些方法?

    我的公司有一个用 PHP 构建的网站 我们使用内置的 PHP 电子邮件功能每天向订阅者发送数千封电子邮件 这是一个糟糕的主意 它堵塞了我们的服务器 并且需要几个小时才能完成整个批次 现在我已经研究过像 MailChimp 这样的群发邮件服务
  • Angular Service Worker - 无法加载资源:服务器响应状态为 504(网关超时)

    我正在使用Angular CLI 1 6 6 and angular service worker 5 2 5 in our Angular 5 2 5应用程序 除了在我们的生产环境中弹出一条错误消息之外 本地精简版服务器以及生产服务器上的
  • 当浏览器在后台运行时收到通知时,使用 Firebase 播放声音

    我想知道如何使用 Firebase Cloud Messaging FCM 播放声音 当Chrome Firefox等网络浏览器在后台运行时收到通知消息时 notification while running in the backgrou
  • iPhone:每日本地通知

    我正在尝试实现本地通知 这就是我所设置的 Current date NSDate date NSDate date Add one minute to the current time NSDate dateToFire date date
  • 获取Windows下新线程/删除线程的通知

    创建 DLL 时 您可以在 DllMain 函数 DLL THREAD ATTACH DLL THREAD DETACH 中获取有关新线程 退出线程的通知 有没有办法在 非托管 可执行文件中从 Windows 获取这些或等效通知 是的 在您
  • 通知操作而不启动新活动?

    我计划提供一个包含两个操作的提醒通知 一个用于批准登录请求 一个用于拒绝登录请求 通过单击这些操作中的任何一个 我希望向我的服务器发出 HTTP 请求 最重要的是 我不想启动新的 Activity 或根本不想将用户重定向到我的应用程序 Co
  • 克隆/推送 Git Repos 时出错 443:访问错误,但未使用代理

    当使用 git 远程存储库进行这些操作克隆 推送时 我遇到了非常奇怪的问题 假设我正在尝试将更改推送到远程存储库 git push origin master 然后我会得到这个错误 致命 无法访问 Remote Repo 无法连接到 git
  • ANDROID:如何从所有窗口顶部的通知或长按搜索按钮启动弹出对话框?

    我已经搜索过 一切都是关于启动活动而不是对话框 我想要做的是在状态栏中显示通知 当用户按下它时 在用户单击通知之前正在查看的内容之上会弹出一个对话框 我不希望对话框显示在主要活动或最近的应用程序列表的顶部 另外 如何通过长按搜索按钮启动对话
  • 在 Android(JB 上)中,如何向自定义丰富通知添加操作?

    我一直在使用 Jelly Bean 中新的丰富通知 当我使用模板设置新通知时 一切都按预期工作Notification BigPictureStyle Notification BigTextStyle or Notification In
  • Android 上的推送通知:IBM MQTT

    我对 Android 环境非常陌生 必须使用上给出的 wmqtt jar 示例应用程序来设置客户端http www 01 ibm com support docview wss http www 01 ibm com support doc
  • 如何使用 Firebase 数据库和 Firebase 通知构建聊天应用的通知系统

    我正在 Android 中使用 Firebase 数据库开发聊天应用程序 我已经完成了核心 聊天和用户列表活动 但我还没有完成通知系统 我想要的是 当一个用户被添加到对话 单个或组 并且另一个用户向对话写入新消息时 第一个用户必须收到一条通
  • Angular:先完全安装 Service Worker

    我正在用 Angular 编写一个 PWA 需要准备好从单页加载中离线 Service Worker 生命周期的文档指定 Worker 已安装但不会立即激活 https developers google com web fundament
  • Swift - 本地通知不会被触发

    我正在 Swift 3 中编码 我只是想发送通知now没有任何延迟或间隔 然而 通知永远不会被触发 这是我的代码 视图控制器代码 import UserNotifications class HomeViewController UIVie
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 单击 Parse 的推送通知打开活动

    我想从 Parse 接收推送通知并打开 List 活动并在启动活动之前使用intent putextra dataFromParse 我能够接收推送 但只能使用以下命令打开 MainActivity PushService setDefau
  • 不支持请求方法“POST”

    以下配置引发错误 请求方法 POST 不受支持 我已经读到 存储 api 不会请求使用 POST 方法的对象作为缓存中的键 但我不知道如何添加路由 该路由体现了这些请求的 networkOnly 策略 规格 设置取自https github
  • JavaScript 在对象中创建数组并将数据推送到数组

    我是编程新手 我正在尝试 React 并具有函数 addComment 当用户向新闻添加评论时执行该函数 此时我需要创建一个属性comments 数组 并分配或推送到该数组输入评论值价值 但现在我只重写了数组的 0 个元素 无法添加新元素

随机推荐

  • 为什么模板函数调用不明确?

    include
  • 为什么 strchr 比我的 simd 代码快两倍

    我正在学习 SIMD 并且很好奇是否有可能在查找字符方面击败 strchr 看起来 strchr 使用相同的内在函数 但我假设它检查空值 而我知道该字符在数组中并计划避免空值检查 我的代码是 size t N 1e9 bool found
  • Android 中的垂直画廊

    我正在开发一个应用程序 为此我需要将图库设置为垂直模式而不是水平模式 我的问题是 我是否有可能展示垂直画廊类型的小部件 任何帮助表示赞赏 你为什么不创建一个列表视图的自定义适配器 如果你定义一个具有一个图像视图的自定义适配器那么它将与垂直画
  • 按内容查找 html 元素并使用 jQuery 隐藏

    我正在尝试使用 jquery 查找某些 HTML 中的某些元素 我想查找并隐藏包含标签文本 这是我的测试标签 和 Yest another test label 的列表 id ul class top level list li class
  • 如何在Excel VBA中给出小于一秒的时间延迟?

    我想在小于 1 秒的特定持续时间后重复一个事件 我尝试使用以下代码 Application wait Now TimeValue 00 00 01 但这里的最小延迟时间是一秒 如何延迟半秒 您可以使用 API 调用和睡眠 将其放在模块的顶部
  • 使用displaytag+tiles导出excel的问题

    显示标签 1 2 弹簧 MVC 2 5 6 瓷砖2 0 7 我已经查看了该网站上围绕同一主题区域的其他一些项目 但似乎没有回答如何将显示标记生成的表格导出到 Excel 的问题 我可以导出 保存 xml 和 csv 但不能导出 保存 exc
  • Xcode iOS 按下按钮,然后向上拖动第二个按钮

    假设我想给一个整数加 1 这只有当我按下一个按钮时才会完成UIButton然后松开我的手指到另一个UIButton 拖拽组合 我可以做的最简单的方法是什么IBAction出现在组合中 这可以通过触摸坐标来完成 或者只是UIButtons a
  • 如何在没有时间的情况下获取当前日期?

    我可以使用以下方法获取日期和时间 DateTime now DateTime Now 如何以 DateTime 格式单独获取当前日期和时间 我没有使用 ASP NET C 中的日期时间选择器对话框 好吧 您可以将今天的日期作为DateTim
  • PHPmail 函数中的“无法访问文件:”

    我正在尝试使用 PHPMailer 通过电子邮件发送服务器上存在的文件 当我运行此代码时 我收到 无法访问文件 并且发送的电子邮件没有附件 任何人都可以指导我如何解决此问题 checkyes POST check date date Y m
  • Yahoo! 上的正则表达式管道

    我在胡闹雅虎 管道我在一些正则表达式方面碰壁了 现在我熟悉了 Perl 中的正则表达式 但 Yahoo 中的规则似乎有所不同 管道 我正在做的是获取一个页面并尝试将其转换为提要 我的正则表达式用于从 HTML 中删除链接 效果很好 但我想要
  • Inno Setup - 从外部源(文件或文件夹内容)创建组件/类型的动态列表

    我有一个批处理文件 设置更改器 它使用 xcopy 列出特定文件夹中的特定文件格式 然后允许我输入其中一个名称 脚本使用该名称将该文件复制到另一个位置 首先 xcopy 创建原始副本作为备份 滚动备份仅 1 份 然后进行文件复制 扩展名在批
  • 错误 A2070:在汇编语言中使用嵌套 while 循环时指令操作数无效

    我正在尝试使用 Masm 在汇编中嵌套 while 循环 我在第 15 行 即运行以下代码时内部 while 循环的 endw 指令 收到 错误 A2070 无效指令操作数 INCLUDE Irvine32 inc data i byte
  • apache 无法正确提供静态内容

    我一直在开发自己的 mvc 框架来进一步学习 Web 应用程序 但在提供静态资源时遇到问题 我试图在应用程序中有一个入口点 也称为前端控制器 所以在我的项目中 我有一个 htaccess 文件 它将所有请求重定向到 app 文件夹 其中另一
  • 将两个不同的结构传递给同一个函数

    我有 2 个不同大小的结构 我希望有一个可以将它们传递到其中的函数 但是 我不知道如何定义函数的参数来接受 2 个不同的结构 我的结构如下 struct int a 2 byte int b 2 byte int c 2 byte int
  • 已部署动态 Web 项目的 WebSphere ClassNotFoundException

    Problem 我目前在 WebSphere 7 0 应用程序服务器上部署的 EAR 带有 OpenFaces Web 项目 遇到 ClassNotFoundException EAR 部署没有问题 但是当我从 Web 项目 包含在 EAR
  • 警告:函数“strcmp”的隐式声明[重复]

    这个问题在这里已经有答案了 创建一个简单的代码来扫描两个数字 询问用户是否想要将它们相加或相乘 然后执行运算并打印输出 include
  • BorderLayout 无法正确显示

    我想要一个 JFrame 其中左侧和右侧有一个边框 颜色为黑色 宽度为 withfOfJFrame 10 现在 我的尝试如下所示 JFrame f new JFrame f setSize 800 600 f setLayout new B
  • Rails 4 - Pundit - 索引范围策略

    我正在尝试学习如何将 Pundit 与我的 Rails 4 应用程序一起使用 我有以下型号 class User lt ActiveRecord Base has one profile has many eois end class Pr
  • 任务 MaxDegreeOfParallelism 可以每次从我的列表中获取前 n 个对象吗?

    我正在打开n我的函数中的并发线程 List
  • 查找来自 Service Worker 的活动推送通知的数量

    我已经使用 Service Worker 实现了推送通知 有什么方法可以找出窗口中当前显示的通知数量 我的目的是限制窗口中显示的通知数量 我尝试了以下方法 但 getNotifications 函数返回空数组 self addEventLi