Session Electron-在同一应用程序的多个窗口中共享相同的IndexedDB

Session Electron-在同一应用程序的多个窗口中共享相同的IndexedDB,session,window,electron,indexeddb,Session,Window,Electron,Indexeddb,我想在同一应用程序的多个窗口中共享IndexedDB的同一“实例”。给定win1和win2,我希望能够在win1IndexedDB中存储一些数据,然后在win2中获得相同的数据 目前在开发工具中,我已经检查了两个不同的IndexedDB是否被服务于每个窗口。因此,win1的数据对win2不可用,反之亦然 在Electron的文档中,我注意到您可以设置值partition,这将使所有窗口都可以使用该值 通过这种方式,我应该能够共享IndexedDB的同一个实例,但我无法让它工作 我为两个窗口设置了

我想在同一应用程序的多个窗口中共享IndexedDB的同一“实例”。给定
win1
win2
,我希望能够在
win1
IndexedDB中存储一些
数据,然后在
win2
中获得相同的
数据

目前在开发工具中,我已经检查了两个不同的IndexedDB是否被服务于每个窗口。因此,
win1
数据对
win2
不可用,反之亦然

在Electron的文档中,我注意到您可以设置值
partition
,这将使所有窗口都可以使用该值

通过这种方式,我应该能够共享IndexedDB的同一个实例,但我无法让它工作

我为两个窗口设置了以下选项:

const options = {
  webPreferences: {
    partition: 'persist:myapp'
  }
};

但是,它们仍然得到两个不同的索引Dbs。

处理相同的需求。您是否尝试过先使用
session.fromPartition()
创建会话,然后将其直接传递给
webPreferences
?嗯,不,这可能是个好主意。我最终构建了一个在窗口之间进行数据通信的系统,我有一个DB窗口来处理所有与DB相关的任务我很好奇,有一个用于DB任务的窗口比在
main
中执行任务更好吗?对不起,如果是obvious@Tony,这可能取决于用例。在我的工作中,我已经使用main完成了几个任务,我希望避免推送与DB相关的活动。除此之外,我希望使用indexeddb,而不必在main上实现某种DB