javascript - 检测服务工作者中的客户端断开连接
问题描述
是否有可以在 serviceworker 中使用的事件或机制来检测客户端何时断开连接,即self.clients.matchAll()中的一个客户端实例发生了变化?
鉴于在两个或多个打开的选项卡中运行的应用程序示例,我将如何继续通知其他选项卡其他选项卡之一已关闭?
我当前的解决方案是在 serviceworker 中维护一个客户端映射,然后在 serviceworker 的其他常用功能中运行一个清理功能,但鉴于 serviceworker 的共享性质,我无法在没有实质性性能损失的情况下扩展此解决方案。
解决方案
到目前为止我发现了什么:
addEventListener('beforeunload', function (e) {
if (!e.defaultPrevented) {
navigator.serviceWorker.controller.postMessage("client_unloaded")
}
})
推荐阅读
- arrays - TRESTRequest:在 POST 请求中添加一个数组作为参数。德尔福东京
- c# - C# OrmLite v5.11.0 SqliteOrmLiteDialectProvider 类抛出编译器错误
- ios - 从父视图中删除滚动视图时触发重绘导航栏外观
- javascript - 来自ajaxtowards flask的发布请求后页面未呈现
- java - 线程“Thread-3”java.lang.NoSuchMethodError 中的异常:org.apache.http.impl.client.DefaultRedirectStrategy。
([Ljava/lang/String;)V - reactjs - 材料表 tableRef.current 值仍未定义
- python - 无论如何要在python中的字典中获取键的索引?
- font-awesome - HTML - fontawesome 替换图标
- django - 处理 Django 模型字段中的重复属性,寻找最佳实践
- c++ - C++ 非常初学者的消息-帮助赞赏