google-chrome - IndexedDB:复制到不同的域?

标签 google-chrome indexeddb

我正在切换域并希望为我的用户提供在我的新域上继续使用相同 IndexedDB 的选项。

我想,由于同源策略,这在 JavaScript 中是不可能的。但是,我的用户“精通技术”并且都使用 Chrome。

那么我的用户是否可以手动将 IndexedDB 从一个域移动到另一个域?也许在 Chrome 用户目录中进行了一些文件复制操作?

最佳答案

您可以使用 iframe 和 postMessage() 来传输数据。让新域打开旧域的 iframe 并设置 message 事件监听器。让旧域提供一个页面,该页面在打开时抓取数据库并对父窗口执行 postMessage() - 指定 targetOrigin 参数以将此限制为正确新域名。您需要为批处理和信号完成发明一个合适的消息方案。

(在 Chrome 中,索引数据库的后备存储包括数据本身的来源,因此您不能简单地移动文件。)

关于google-chrome - IndexedDB:复制到不同的域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820493/

相关文章:

javascript - onbeforeunload 在 Windows Chrome 中不起作用

javascript - 如何使用 dragover 事件从元素的所有子元素中删除指针事件?

javascript - Chrome 扩展程序将输入附加到 URL。

javascript - IndexedDB 等待事件

javascript - 在多个选项卡中使用 indexeddb 操作

html - 谷歌浏览器 <select> 错误?

javascript - 客户端从 IndexedDB 延迟加载到 DataTables jquery 插件

cordova - Phonegap 支持 Indexeddb

javascript - indexedDB 可重用函数

javascript - Chrome/Webkit inline-block 刷新问题