У меня есть приложение Angular, работающее поверх Electron, которое уже находится в производстве, однако я сделал обновление, которое еще не выпущено, с серьезной проблемой.
Я использую IndexedDB
do store данные приложения, и на данный момент я загружаю внутренний веб-сайт приложения с помощью mainWindow.loadURL('file://' + __dirname + '/index.html#');
Однако мне пришлось создать собственный протокол с registerBufferProtocol
для загрузки файлов, и теперь я загружаю их вот так mainWindow.loadURL('customprotocol://localhost/index.html#');
Кажется, что Electron думает, что это другой веб-сайт, поэтому вместо доступа к одним и тем же экземплярам localStorage
и indexedDB
он предоставляет новый.
Мне нужно найти способ создания и загрузки основного браузера windows с использованием моего нового протокола, но с сохранением доступа к старым данным приложения так же, как и раньше.
В окне инструментов разработчика старой версии моего приложения отображается localStorage
сеанс принадлежит file://
Однако в новой версии приложения, которую я сделал, это показывает, что сеанс localStorage
принадлежит другому "новый сайт который загружается с моим настраиваемым протоколом fredata://localhost
На пути к данным приложения все еще присутствует папка со всеми различными файлами веб-сайта, я был интересно, достаточно ли простого переименования, но я не думаю, что это так просто.