Доступ к экземпляру IndexedDB как к другому веб-сайту в Electron - PullRequest
1 голос
/ 16 июня 2020

У меня есть приложение Angular, работающее поверх Electron, которое уже находится в производстве, однако я сделал обновление, которое еще не выпущено, с серьезной проблемой.

Я использую IndexedDB do store данные приложения, и на данный момент я загружаю внутренний веб-сайт приложения с помощью mainWindow.loadURL('file://' + __dirname + '/index.html#');

Однако мне пришлось создать собственный протокол с registerBufferProtocol для загрузки файлов, и теперь я загружаю их вот так mainWindow.loadURL('customprotocol://localhost/index.html#');

Кажется, что Electron думает, что это другой веб-сайт, поэтому вместо доступа к одним и тем же экземплярам localStorage и indexedDB он предоставляет новый.

Мне нужно найти способ создания и загрузки основного браузера windows с использованием моего нового протокола, но с сохранением доступа к старым данным приложения так же, как и раньше.

В окне инструментов разработчика старой версии моего приложения отображается localStorage сеанс принадлежит file://

Local Storage of the old app version belongs to file://

Однако в новой версии приложения, которую я сделал, это показывает, что сеанс localStorage принадлежит другому "новый сайт который загружается с моим настраиваемым протоколом fredata://localhost

Local Storage of the new app version belongs to fredata://localhost

На пути к данным приложения все еще присутствует папка со всеми различными файлами веб-сайта, я был интересно, достаточно ли простого переименования, но я не думаю, что это так просто.

App Data path of the IndexDB Folder displaying all the different website Instances Stored

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...