如何为Firebase Web Version 9(模块化)启用多标签页同步?
Firebase Web V9 SDK 多标签页数据同步启用方法
Firebase JavaScript 模块化Web Version 9 SDK中,多标签页数据同步是离线持久化的默认行为,不需要通过
PersistenceSettings设置synchronizeTabs属性(该属性在V9版本中并不存在)。文档中
forceOwnership属性的描述提到“This cannot be used with multi-tab synchronization”,实际逻辑是:当设置forceOwnership: true时,会强制当前标签页独占IndexedDB持久化层,这会禁用默认的多标签同步功能;反之,不设置forceOwnership(默认值为false)时,多标签页同步会自动生效。你只需保留原本启用离线持久化的代码即可,无需额外配置:
enableIndexedDbPersistence(db) .catch((err) => { if (err.code == 'failed-precondition') { // 可在此处理多标签页同时初始化的冲突场景 } else if (err.code == 'unimplemented') { // 处理浏览器不支持离线持久化的情况 } });验证同步效果:在一个标签页修改Firestore数据(离线状态下操作也有效),切换到同应用的其他标签页,数据会自动同步更新。
内容的提问来源于stack exchange,提问作者TinyTiger
相关产品推荐
相关产品推荐

