问题标签 [background-sync]
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.
workbox - Workbox 5.1.2 后台同步队列配置
我最近从 Workbox 3.5.0 迁移到 Workbox 5.1.2
我正在通过 CDN 使用 Workbox SW
我已经更新了我的服务工作者文件以使用最新的插件类,并适当地重命名了这些类 - 一切都很好!
我遇到的唯一真正的问题/困惑是 backgroundSync 模块。我已阅读文档并在 Stackoverflow 和 Google 上搜索解决方案/建议,但找不到任何明确回答我的问题的内容。
我正在尝试将失败的请求添加到网络恢复后重试的队列。
我知道上面的代码不起作用,因为如果我给 2 个队列名称赋予相同的名称,则会引发关于使用唯一队列名称的错误。我是否需要这两个函数才能使用 backgroundSync 模块,或者是其中一个。另外,我需要自己创建 indexedDB 还是工作箱处理这个?使用 workbox 3.5.0 时,我创建了 indexedDB 并添加了失败的请求,如下所示(效果很好):
我无法理解这是如何工作的,任何帮助将不胜感激
workbox - 如何检查 workbox-background-sync 中是否有待处理的请求?
如果 workbox-background-sync 表中有待处理的请求,我想在 Vue 中显示通知。这是我存储所有待处理请求的 IndexedDB。
这是我的 service-worker.js 文件
firefox - 没有后台同步事件的后台同步重播
我是服务人员的新手,正在尝试开发一个来处理背景图片上传。我正在使用 Workbox 和 firefox 进行测试。服务工作者已正确加载和注册,每当我尝试离线上传图像时,这些日志都会出现在控制台中:
“/photoUpload”的工作箱请求已添加到后台同步队列“PhotoQueue”
工作箱使用 NetworkOnly 响应“/photoUpload”
在我上线前几秒钟后,日志中打印了以下内容,并且照片没有上传到服务器:
工作箱后台同步重播没有后台同步事件
'/photoUpload' 的工作箱请求已在队列 'PhotoQueue' 中重播
工作箱队列'PhotoQueue'中的所有请求都已成功重播;队列现在是空的!
这是我的 serviceWorker.js:
有没有办法触发后台同步事件?为什么工作箱在图像上传到服务器之前从队列中删除 POST 请求。
android - 如何修复 WorkerWrapper 中的“无法解析主机”错误?
我正在尝试在 Android 上实现后台同步。
当模拟器(API 30)唤醒并解锁时,它工作得很好。
但是如果我退出应用程序(不是强制退出,只是从最近的应用程序中删除)并锁定模拟器屏幕 - 最终我将开始收到以下错误:
我没有在设备上启用省电模式,并且运行模拟器的 PC 上的互联网连接非常好且稳定。RAM 不是问题。
这是我的工人:
这就是我安排工作的方式:
当模拟器进入“深度睡眠”模式并切断互联网连接以节省电池时,我怀疑这是某种电池优化。
我该如何解决这个问题?我应该使用setRequiredNetworkType(NetworkType.CONNECTED)
,也许?
更新setRequiredNetworkType(NetworkType.CONNECTED)
它只在某些时候有效
。有些运行仍然失败,但有些运行现在成功了。
service-worker - javascript 后台同步 android 电源按钮
在 android chrome 中,service worker sync 不会触发我错过了什么???同样的事情:JavaScript Background Sync Stops Working if Page is Loaded/Refreshed while offline
- 拔下 USB 电缆进行开发(用于 chrome 开发工具)
- 按下 android 主页按钮
- 按电源按钮睡眠(黑屏)
- 然后我等5分钟(至少)
- 然后我按下电源按钮唤醒
- 然后我推动 myapp 唤醒应用程序(应用程序未关闭但设置为睡眠)
- 然后我插入 USB 电缆进行调试
- 然后我点击一些按钮来触发同步,然后我看到---
在控制台中“注册”但如果我再次单击电源按钮(黑屏)然后我再次单击电源按钮则不会触发“同步”事件 - 然后它会唤醒或者我关闭 wifi 然后打开 wifi - 然后它会唤醒向上
然后在控制台“REGISTER”和“SYNC”中看到
如果我等待 30 分钟,则删除已注册的同步
客户端JS
服务人员方
javascript - Web - 定期同步和同步之间有什么区别?
我在 PWA同步和周期性同步的后台遇到了两种不同类型的同步。他们的资源并不多,现有资源无法用示例工作代码进行足够的解释。
所以我的主要问题是:除了频率之外,它们之间还有其他逻辑差异吗?
我的问题是:他们自己处理请求吗?我问这个是因为我想要更灵活的东西,我的意思是我正在管理离线和在线情况并将数据保存在IDB中我离线,我只需要一个后台进程来从我的自定义 IDB 获取我的离线数据并发送他们到服务器。
javascript - Pwa Workbox 同步后台 UI
来自工作箱的 BackgroundSync 完美运行,但我有一个问题
我希望当我修改一个元素时,即使请求仍在 indexedDB 中,当我离线时,该元素也不会在我的 pwa (UI) 上更新。现在,当我更改元素时(在一个简单的输入中),请求在我的 indexedDB 中,如果我刷新页面,它会像以前一样恢复。当我再次拥有网络时,会发送请求并在 UI 中更新元素
我将 workbox V6 用于我的工作人员服务,并使用 PHP API 来修改我的元素,这是我的服务工作人员用于同步的一部分:
你能帮我吗
web-applications - iOS (iPad) PWA + SyncManager API
似乎 SyncManager API 与 iOS14.4 (iPad) 上的浏览器不兼容 https://caniuse.com/?search=syncmanager
如果有任何替代 API 或 Web 开发解决方案来处理 iOS14.4 (iPad) 的后台同步过程,我可以给你建议吗?
非常感谢!
最好的问候,尼基。
mysql - 工作箱后台同步未存储在 mysql 数据库中
我可以让同步工作并清除 IndexedDB 队列,但数据没有存储在我的 mysql 数据库中。有什么我想念的吗?
我的服务人员:
javascript - 工作箱后台同步 - 用户提交表单后重定向
用户可以在离线时提交表单,该表单通过后台同步同步到我的数据库。这按预期工作。我遇到的问题是,当用户离线并提交表单时,它会重定向到 Chrome 中的“未找到站点”错误页面。用户应该被重定向回他们所有条目的列表。我已确认它重定向到的页面已缓存。
服务器工作者文件: