如何从两个地方使用 IndexedDB
How to use IndexedDB from two places
例如:
我打开了 N 个标签页。从每个选项卡中,我从 <input>
中获得一个名称,该名称将用作数据库中的存储值。所以,我应该有N家商店。每个选项卡都有一个按钮,用于连接到 IDB 并开始将对象保存到它们自己的存储中。
据我从手册中了解到,我只能通过调用 onupgradeneeded
来创建新商店。如果我的第一个选项卡将使用 IDB,我将尝试使用第二个选项卡更改 IDB 版本以调用 onupgradeneeded
这样行吗?
这可以用 IDB 实现吗?
onupgradeneeded
仅在版本更改时运行,因此每次添加对象存储时都必须递增版本。我不认为你真的想那样做,因为更改一个选项卡中的版本将需要关闭另一个选项卡中的数据库,然后在更高版本中重新打开它们,因为你只能打开最新版本一度。基本上,它会变得有点混乱和混乱。
你能把所有东西都放在一个对象存储中吗?也许使用 <input>
中的名称作为键,或者将其放入索引的 属性 中?如果不详细说明您实际要完成的工作,我很难说更多。
例如:
我打开了 N 个标签页。从每个选项卡中,我从 <input>
中获得一个名称,该名称将用作数据库中的存储值。所以,我应该有N家商店。每个选项卡都有一个按钮,用于连接到 IDB 并开始将对象保存到它们自己的存储中。
据我从手册中了解到,我只能通过调用 onupgradeneeded
来创建新商店。如果我的第一个选项卡将使用 IDB,我将尝试使用第二个选项卡更改 IDB 版本以调用 onupgradeneeded
这样行吗?
这可以用 IDB 实现吗?
onupgradeneeded
仅在版本更改时运行,因此每次添加对象存储时都必须递增版本。我不认为你真的想那样做,因为更改一个选项卡中的版本将需要关闭另一个选项卡中的数据库,然后在更高版本中重新打开它们,因为你只能打开最新版本一度。基本上,它会变得有点混乱和混乱。
你能把所有东西都放在一个对象存储中吗?也许使用 <input>
中的名称作为键,或者将其放入索引的 属性 中?如果不详细说明您实际要完成的工作,我很难说更多。