当前位置: 首页 > news >正文

企业H5站点升级PWA (八)

图片里的 推送, 同步, 定期同步 有什么作用?

image

下面这三个按钮都是 Chrome/Edge DevTools 里 专门用来调试 Service Worker 的模拟入口,不会自动出现在真实用户环境里,只对当前开发者工具页面生效:

  1. 推送(Push)
    • 作用:模拟服务器发来的 push 消息。
    • DevTools 会向你的 Service Worker 触发一个 push 事件:
 self.addEventListener('push', event => {// 这里的代码会被执行});
  • 你在输入框里填的内容会作为 event.data.text() 提供给 SW,用来调试 Web Push 通知逻辑,而不需要真的接入 FCM/自己的推送服务器。
  1. 同步(Sync)
    • 作用:模拟一次 后台同步(Background Sync) 事件。
    • 会触发你在 SW 中注册的 sync 事件:
 self.addEventListener('sync', event => {if (event.tag === 'test-tag-from-devtools') {// 这里执行你要在恢复网络时重试的逻辑}});
  • 输入框里的字符串就是 event.tag,用来区分不同的同步任务。
  • 场景:比如离线时把请求暂存起来,网络恢复后自动重试上传。
  1. 定期同步(Periodic Sync)
    • 作用:模拟 Periodic Background Sync(周期性后台同步)事件。
    • 会触发:
 self.addEventListener('periodicsync', event => {if (event.tag === 'test-tag-from-devtools') {// 周期性拉取配置/消息之类的逻辑}});
  • 同样,输入框里的值是 event.tag
  • 真实环境下,这个特性受浏览器和权限限制较大,DevTools 提供这个按钮方便你在本地测试处理逻辑。

如果你的 sw.js 里目前没有 push / sync / periodicsync 的事件监听,这三个按钮点了也不会有任何效果;要利用它们,需要在 Service Worker 里显式添加对应的事件处理代码。

http://www.jsqmd.com/news/392410/

相关文章:

  • 题解:洛谷 P1072 [NOIP 2009 提高组] Hankson 的趣味题
  • 移动开发领域 Gradle 与 CI_CD 的集成方案
  • 题解:洛谷 P1029 [NOIP 2001 普及组] 最大公约数和最小公倍数问题
  • 俄罗斯方块C++命令行版本 - ace-
  • 题解:洛谷 P3383 【模板】线性筛素数
  • 快速制作 虚拟形象项目 MotionPNGTuber
  • 软件测试一篇通
  • 题解:洛谷 P2822 [NOIP 2016 提高组] 组合数问题
  • 【RL+MCS】基于深度强化学习的能效链路自适应联合功率分配与调制编码方案选择【附MATLAB代码】
  • 学会正确看待自己的工作
  • ISAC波形设计新突破!概率去噪增强的PDISAC兼顾感知与通信双性能【附MATLAB+pyython代码】
  • 题解:洛谷 P1983 [NOIP 2013 普及组] 车站分级
  • 这几天的大模型圈,真的有点“卷”过头了
  • 企业H5站点升级PWA (五)
  • 题解:洛谷 P1017 [NOIP 2000 提高组] 进制转换
  • 企业H5站点升级PWA (六)
  • 企业H5站点升级PWA (七)
  • 企业H5站点升级PWA (四)
  • 题解:洛谷 P3916 图的遍历
  • 【硬盘】个人数据备份的各种方式##37
  • 题解:洛谷 P5318 【深基18.例3】查找文献
  • 题解:洛谷 P4017 最大食物链计数
  • 题解:洛谷 P1113 杂务
  • 别只会用 getData!Watcher 注册源码流程全拆解
  • Java线程解析:5种线程创建方法及应用场景 - 指南
  • 题解:洛谷 P2814 家谱
  • 题解:洛谷 P3879 [TJOI2010] 阅读理解
  • 2024 年 09 月 二级真题(1)--数位之和
  • 2026年龙岩连城长汀红白喜事鼓吹铜管乐队演出推荐:客家非遗与市场化服务的平衡之选 - 小白条111
  • 题解:洛谷 P4305 [JLOI2011] 不重复数字