javascript - 将 IndexedDB 实例作为 Electron 中的不同网站访问
问题描述
我有一个在 Electron 上运行的 Angular 应用程序,它已经在生产中,但是我做了一个尚未发布的更新,它有一个严重的问题。
我使用IndexedDB
确实存储应用程序数据,至于现在我一直在加载应用程序内部网站
mainWindow.loadURL('file://' + __dirname + '/index.html#');
但是我必须创建一个自定义协议registerBufferProtocol
来加载文件,现在我像这样加载它们
mainWindow.loadURL('customprotocol://localhost/index.html#');
似乎 Electron 认为这是一个不同的网站,因此它没有访问相同的localStorage
和indexedDB
实例,而是提供了一个新的。
我需要找到一种方法来使用我的新协议来实例化和加载主浏览器窗口,但要以与以前相同的方式保持旧应用程序数据的可访问性。
在我的应用程序旧版本的开发者工具窗口上显示localStorage
会话所属file://
但是,在我制作的新应用程序版本中,它显示localStorage
会话属于另一个“新”站点,该站点加载了我的自定义协议fredata://localhost
在 App Data 路径上,所有不同网站文件的文件夹仍然存在,我想知道一个简单的重命名是否就足够了,但我认为没有那么简单。
解决方案
推荐阅读
- javascript - 按属性对具有键和子对象的对象进行排序
- mongodb - 演员的 mognodb 聚合组
- javascript - 动态依赖下拉 laravel
- python - 如何在python的嵌套字典中追加数据
- python - 查找异常值的函数
- javascript - 如何更改密码元素输入 JavaScript 的文本
- mongodb - 在 express (async/await) 中使用一个 mongoose 查询的输出作为另一个查询的输入
- r - 使用 data.table 进行非等连接时重命名连接变量
- javascript - 在 React.js 上验证电话号码
- html - CSS:如何按类设置内容?