我正在切换域并希望为我的用户提供在我的新域上继续使用相同 IndexedDB 的选项。
我想,由于同源策略,这在 JavaScript 中是不可能的。但是,我的用户“精通技术”并且都使用 Chrome。
那么我的用户是否可以手动将 IndexedDB 从一个域移动到另一个域?也许在 Chrome 用户目录中进行了一些文件复制操作?
最佳答案
您可以使用 iframe 和 postMessage()
来传输数据。让新域打开旧域的 iframe 并设置 message
事件监听器。让旧域提供一个页面,该页面在打开时抓取数据库并对父窗口执行 postMessage()
- 指定 targetOrigin 参数以将此限制为正确新域名。您需要为批处理和信号完成发明一个合适的消息方案。
(在 Chrome 中,索引数据库的后备存储包括数据本身的来源,因此您不能简单地移动文件。)
关于google-chrome - IndexedDB:复制到不同的域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820493/